テーブルからいくつかの値を取得しようとしていますがUnhandled exception: Trying to get property of non-object
、Fluent によって返されたオブジェクトのプロパティとして結果にアクセスしようとするとエラーが発生しました。
問題:エラーがスローされても、オブジェクトのプロパティにアクセスしようとすると機能します。これは本当に不可解です。何が問題なのですか?
PHP コード
$sets = DB::table('sets')->where('user_id', '=', $user_id)->get();
// Get thumbnail of latest item added to set
foreach($sets as $set) {
$post_set = DB::table('posts_sets')
->where('set_id', '=', $set->id)
->order_by('created_at', 'desc')
->first();
print_r($post_set); // works fine
echo $post_set->id; // prints out value, BUT throws the unhandled exception error!
}
エラー
未処理の例外
メッセージ:
非オブジェクトのプロパティを取得しようとしています
位置:
/home/test/public_html/application/controllers/api.php 行 47
スタックトレース:
#0 /home/test/public_html/laravel/laravel.php(40): Laravel\Error::native(8, 'p を取得しようとしています...', '/home/test/pub...', 47 ) #1 /home/test/public_html/application/controllers/api.php(47): Laravel{closure}(8, 'p を取得しようとしています...', '/home/test/pub...', 47 、 配列) #2 [内部関数]: Api_Controller->action_sets() #3 /home/test/public_html/laravel/routing/controller.php(323): call_user_func_array(配列, 配列) #4 /home/test/public_html/laravel/routing/controller.php(283): Laravel\Routing\Controller->response('sets', Array) #5 /home/test/public_html/laravel/routing/controller.php(165): Laravel\Routing\Controller->execute('sets', Array) #6 /home/test/public_html/laravel/routing/route.php(153): Laravel\Routing\Controller::call('api@(:1)', Array) #7 /home/test/public_html/laravel/routing/route.php(124): Laravel\Routing\Route->response() #8 /home/test/public_html/laravel/laravel.php(125): Laravel\Routing\Route->call() #9 /home/test/public_html/public/index.php(34): require('/home/test/pub...') #10 {メイン}