calling https://cms-hub.tfo.org.dev.lesaffranchis.ca/api/tfo.org/single/trailer/les-temoins/P3176468
CmsHubDev
Internal Server Error

ErrorException

app/Models/DirectusProducts.php:582

Undefined array key "collection_biznumber"

LARAVEL 12.69.0
PHP 8.5.10
UNHANDLED
CODE 0
500
GET
https://cms-hub.tfo.org.dev.lesaffranchis.ca/api/tfo.org/single/trailer/les-temoins/P3176468

Exception trace

Illuminate\Foundation\Bootstrap\HandleExceptions->{closure:Illuminate\Foundation\Bootstrap\HandleExceptions::forwardsTo():261}(integer, string, string, integer)
app/Models/DirectusProducts.php:582
577                    'Episode Documentaire',578                    'Episode Fiction',579                    'Episode Interprogramme',580                    'Episode Magazine',581                    'Episode Promo',582                ] ) && $m[ "collection_biznumber" ] == "" )583            {584                $self->type = "Episode Unique";585            }586587            $self->isOriginal   = (bool)Arr::get( $m, 'is_original' );588            $self->canonicalUrl = $canonicalBase && $self->videoUrl ? rtrim( $canonicalBase, '/' ) . $self->videoUrl : null;589            $self->state        = Arr::get( $m, 'state' );590591            if ( isset( $this->collection ) )592            {593                $self->collection    = $this->collection->mapSimpleForApi();594
App\Models\DirectusProducts->mapForApi()
app/Helpers/FilamentActionsMethod.php:795
790                        $output = self::tfoDestinationNotFound( $type, $trailerBiznumber );791                    }792                    else793                    {794                        /* @var DirectusProducts $product */795                        $output = $product?->mapForApi();796                        $output = self::applyTrailerRelatedContext( $output, $linkedParentContent, $product );797                        $output = self::attachTrailerWarning( $output, $warning );798799                        if ( isset( $linkedParentContent ) )800                        {801                            $linkedParentBiznumbers = array_filter( [802                                (string)( $linkedParentContent->biznumber ?? '' ),803                                (string)( $linkedParentContent->collection_biznumber ?? '' ),804                            ] );805806                            $linkedParentCommanditaires = $commanditaires807
App\Helpers\FilamentActionsMethod::getTFODestination(array, array, null, array)
app/Helpers/Evaluator.php:585
580                    $method = $option[ "method" ] ?? "";581                    $class  = FilamentActionsMethod::class;582583                    if ( is_callable( [ $class, $method ] ) )584                    {585                        $output = $class::$method( $option, $record, $caller, $record );586                    }587                    else588                    {589                        $output = [ "data" => "method not found :" . $method, "status" => 404 ];590                    }591                }592                else if ( $type == "mutator" )593                {594                    $method = $option[ "method" ] ?? "";595                    $class  = Mutators::class;596597
App\Helpers\Evaluator::evaluateData(array, array)
app/Controllers/Api.php:792
787            {788789                $params = (object)$route[ "params" ];790            }791792            $data = Evaluator::evaluateData( $getData, $params );793794            //$conditions = $node["conditions"] ?? [];795796            //$canOutput = self::evalConditions($conditions, $route["params"]);797798            return [ "data" => $data, "status" => 200 ];799        }800801802        public static function findRoute( $api, $strRoute )803        {804
App\Controllers\Api::populate(array)
app/Controllers/Api.php:760
755                return response()->json( [756                    'error' => $route[ "error" ],757                ], 404 );758            }759760            $output = self::populate( $route );761762            return response()->json( $output[ "data" ], $output[ "status" ] ?? 200, [], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES );763        }764765        public static function populate( $route )766        {767            $node = $route[ "node" ][ $route[ "matched_type" ] ] ?? null;768769            if ( empty( $node ) )770            {771                return [ "data" => "Route not found", "status" => 404 ];772
40 vendor frames
App\Controllers\Api::matchRoute(string)
vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:46
Illuminate\Routing\ControllerDispatcher->dispatch(object(Illuminate\Routing\Route), object(App\Controllers\Api), string)
vendor/laravel/framework/src/Illuminate/Routing/Route.php:265
Illuminate\Routing\Route->runController()
vendor/laravel/framework/src/Illuminate/Routing/Route.php:211
Illuminate\Routing\Route->run()
vendor/laravel/framework/src/Illuminate/Routing/Router.php:822
Illuminate\Routing\Router->{closure:Illuminate\Routing\Router::runRouteWithinStack():821}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50
Illuminate\Routing\Middleware\SubstituteBindings->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
Illuminate\Pipeline\Pipeline->then(object(Closure))
vendor/laravel/framework/src/Illuminate/Routing/Router.php:821
Illuminate\Routing\Router->runRouteWithinStack(object(Illuminate\Routing\Route), object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Routing/Router.php:800
Illuminate\Routing\Router->runRoute(object(Illuminate\Http\Request), object(Illuminate\Routing\Route))
vendor/laravel/framework/src/Illuminate/Routing/Router.php:764
Illuminate\Routing\Router->dispatchToRoute(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Routing/Router.php:753
Illuminate\Routing\Router->dispatch(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:200
Illuminate\Foundation\Http\Kernel->{closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():197}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}(object(Illuminate\Http\Request))
vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php:19
Livewire\Features\SupportDisablingBackButtonCache\DisableBackButtonCacheMiddleware->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:58
Illuminate\Http\Middleware\TrustProxies->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31
Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:51
Illuminate\Foundation\Http\Middleware\TrimStrings->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php:27
Illuminate\Http\Middleware\ValidatePostSize->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:109
Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php:74
Illuminate\Http\Middleware\HandleCors->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:58
Illuminate\Http\Middleware\TrustProxies->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php:22
Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php:26
Illuminate\Http\Middleware\ValidatePathEncoding->handle(object(Illuminate\Http\Request), object(Closure))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
Illuminate\Pipeline\Pipeline->then(object(Closure))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:175
Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:144
Illuminate\Foundation\Http\Kernel->handle(object(Illuminate\Http\Request))
vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1220
Illuminate\Foundation\Application->handleRequest(object(Illuminate\Http\Request))
html/index.php:20
1516// Bootstrap Laravel and handle the request...17/** @var Application $app */18$app = require_once __DIR__.'/../bootstrap/app.php';1920$app->handleRequest(Request::capture());21

Queries

mysql
select * from `settings` where `key` = 'exclusion_list' limit 1
6.23ms
mysql
select * from `cache` where `key` in ('cmshubdev_cache_commanditaires')
0.98ms
mysql
select * from `directus_products` where `biznumber` = 'P3176468' limit 1
90.92ms
mysql
select * from `directus_products` where `biznumber` != 'P3176468' and `raw` is not null and (json_contains(`raw`, '{"biznumber":"P3176468"}', '$."linked_products"') or json_contains(`raw`, '{"id":"P3176468"}', '$."linked_products"') or `raw` like '%P3176468%')
1185.65ms
mysql
select * from `directus_collections` where `directus_collections`.`collection_key` in (0)
1.99ms
mysql
select * from `directus_programmations` where `directus_programmations`.`product_key` in (100838617)
40.22ms
mysql
select `key`, `value`, `type` from `frontend_settings` where `site` = 'tfo_org' and `group` = 'ads' and `key` in ('allowed_targets', 'excluded_product_biznumbers')
1.29ms
mysql
select * from `settings` where `key` = 'next_at_full_end_product_biznumbers' limit 1
1.53ms

Headers

accept-encoding
gzip
x-forwarded-server
c344ba6dd571
uber-trace-id
1d9729b096f85b01:2b7eabe81db83449:1d9729b096f85b01:1
user-agent
GuzzleHttp/8
x-original-uri
/api/tfo.org/single/trailer/les-temoins/P3176468
x-forwarded-port
443
x-forwarded-ssl
on
x-forwarded-host
cms-hub.tfo.org.dev.lesaffranchis.ca
connection
close
x-forwarded-proto
https
x-forwarded-for
23.21.116.100, 54.235.143.92, 172.20.0.5
x-real-ip
172.20.0.5
host
cms-hub.tfo.org.dev.lesaffranchis.ca

Body

// No request body

Routing

controller
App\Controllers\Api@matchRoute
middleware
api

Routing parameters

{
    "any": "tfo.org/single/trailer/les-temoins/P3176468"
}
Illuminate\Http\Client\Response {#290 // app/Services/ApiDataService.php:221
  #response: GuzzleHttp\Psr7\Response {#324
    -reasonPhrase: "Internal Server Error"
    -statusCode: 500
    -headers: array:7 [
      "Access-Control-Allow-Origin" => array:1 [
        0 => "*"
      ]
      "Cache-Control" => array:1 [
        0 => "no-cache, private"
      ]
      "Content-Type" => array:1 [
        0 => "text/html; charset=utf-8"
      ]
      "Date" => array:1 [
        0 => "Tue, 22 Sep 2026 18:52:27 GMT"
      ]
      "Server" => array:1 [
        0 => "nginx/1.25.3"
      ]
      "X-Powered-By" => array:1 [
        0 => "PHP/8.5.10"
      ]
      "Transfer-Encoding" => array:1 [
        0 => "chunked"
      ]
    ]
    -headerNames: array:7 [
      "access-control-allow-origin" => "Access-Control-Allow-Origin"
      "cache-control" => "Cache-Control"
      "content-type" => "Content-Type"
      "date" => "Date"
      "server" => "Server"
      "x-powered-by" => "X-Powered-By"
      "transfer-encoding" => "Transfer-Encoding"
    ]
    -protocol: "1.1"
    -stream: GuzzleHttp\Psr7\Stream {#325
      -stream: stream resource @6
        wrapper_type: "PHP"
        stream_type: "TEMP"
        mode: "w+b"
        unread_bytes: 0
        seekable: true
        uri: "php://temp"
        options: []
      }
      -size: null
      -seekable: true
      -readable: true
      -writable: true
      -uri: "php://temp"
      -customMetadata: []
    }
  }
  #decoded: null
  #decodedJson: false
  #decodingFlags: ? int
  +cookies: GuzzleHttp\Cookie\CookieJar {#310
    -cookies: []
    -strictMode: false
  }
  +transferStats: GuzzleHttp\TransferStats {#331
    -request: GuzzleHttp\Psr7\Request {#314
      -method: "GET"
      -requestTarget: null
      -uri: GuzzleHttp\Psr7\Uri {#311
        -scheme: "https"
        -userInfo: ""
        -host: "cms-hub.tfo.org.dev.lesaffranchis.ca"
        -port: null
        -path: "/api/tfo.org/single/trailer/les-temoins/P3176468"
        -query: ""
        -fragment: ""
      }
      -headers: array:2 [
        "User-Agent" => array:1 [
          0 => "GuzzleHttp/8"
        ]
        "Host" => array:1 [
          0 => "cms-hub.tfo.org.dev.lesaffranchis.ca"
        ]
      ]
      -headerNames: array:2 [
        "user-agent" => "User-Agent"
        "host" => "Host"
      ]
      -protocol: "1.1"
      -stream: GuzzleHttp\Psr7\Stream {#313
        -stream: stream resource @4
          wrapper_type: "PHP"
          stream_type: "TEMP"
          mode: "w+b"
          unread_bytes: 0
          seekable: true
          uri: "php://temp"
          options: []
        }
        -size: 0
        -seekable: true
        -readable: true
        -writable: true
        -uri: "php://temp"
        -customMetadata: []
      }
    }
    -response: GuzzleHttp\Psr7\Response {#324}
    -transferTime: 3.62582
    -handlerStats: array:47 [
      "url" => "https://cms-hub.tfo.org.dev.lesaffranchis.ca/api/tfo.org/single/trailer/les-temoins/P3176468"
      "content_type" => "text/html; charset=utf-8"
      "http_code" => 500
      "header_size" => 257
      "request_size" => 135
      "filetime" => -1
      "ssl_verify_result" => 0
      "redirect_count" => 0
      "total_time" => 3.62582
      "namelookup_time" => 0.002506
      "connect_time" => 0.002867
      "pretransfer_time" => 0.018997
      "size_upload" => 0.0
      "size_download" => 930915.0
      "speed_download" => 256746.0
      "speed_upload" => 0.0
      "download_content_length" => -1.0
      "upload_content_length" => 0.0
      "starttransfer_time" => 3.589531
      "redirect_time" => 0.0
      "redirect_url" => ""
      "primary_ip" => "54.235.143.92"
      "certinfo" => []
      "primary_port" => 443
      "local_ip" => "172.20.0.48"
      "local_port" => 52954
      "http_version" => 2
      "protocol" => 2
      "ssl_verifyresult" => 0
      "scheme" => "https"
      "appconnect_time_us" => 18942
      "queue_time_us" => 108
      "connect_time_us" => 2867
      "namelookup_time_us" => 2506
      "pretransfer_time_us" => 18997
      "redirect_time_us" => 0
      "starttransfer_time_us" => 3589531
      "posttransfer_time_us" => 19068
      "total_time_us" => 3625820
      "effective_method" => "GET"
      "capath" => "/etc/ssl/certs"
      "cainfo" => "/etc/ssl/certs/ca-certificates.crt"
      "used_proxy" => 0
      "httpauth_used" => 0
      "proxyauth_used" => 0
      "conn_id" => 0
      "appconnect_time" => 0.018942
    ]
    -handlerErrorData: 0
  }
  #truncateExceptionsAt: null
}