获取与 Eloquent Builder 相关的第一个元素

我正在尝试检索用户的答案。我有这个查询:


$data = Category::where('id', $id)->with(

            [

                'questions' => function ($query) {

                    $query->with(['answers' => function ($query) {

                        $query->where( 'user_id', auth()->user()->id )->first();

                    } ])->orderBy('position', 'ASC');

                }

            ]

        )->first();

我只想收集答案(一个用户对一个问题只能有一个答案)


但是 Laravel 返回一个数组“答案”

http://img1.mukewang.com/61a0849d0001a93e08811021.jpg

如何只有答案,没有这个数组?谢谢 !


隔江千里
浏览 226回答 1
1回答

撒科打诨

您可以定义另一个名为的关系answer并将其设为hasOne. 这样您只会得到 1 个结果,但请注意,如果没有订单(order by),结果可能会因请求而异。
打开App,查看更多内容
随时随地看视频慕课网APP