Php Laravel使用join获取数据返回null

Php Laravel使用join获取数据返回null,php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,在以下获取数据的结果中: { "purchases": [ { "id": 1, "member_id": 1, "mediator_id": 2, "type": null, "cash": 38712402, "created_at": "2017-11-08 06:40:45", "updated_a

在以下获取数据的结果中:

{
    "purchases": [
        {
            "id": 1,
            "member_id": 1,
            "mediator_id": 2,
            "type": null,
            "cash": 38712402,
            "created_at": "2017-11-08 06:40:45",
            "updated_at": "2017-11-08 06:40:45",
            "deleted_at": null,
            "cheques": [
                {
                    "id": 1,
                    "purchase_id": 1,
                    "expire_date": "1396-01-19",
                    "amount": 97094060,
                    "isRejected": 0,
                    "created_at": "2017-11-08 06:40:45",
                    "updated_at": "2017-11-08 06:40:45",
                    "deleted_at": null
                }
            ]
        },
        {
            "id": 2,
            "member_id": 1,
            "mediator_id": 2,
            "type": null,
            "cash": 46760191,
            "created_at": "2017-11-08 06:40:45",
            "updated_at": "2017-11-08 06:40:45",
            "deleted_at": null,
            "cheques": []
        }
    ]
}
我通过以下代码得到:

$purchases = \App\Purchase::with('cheques')->where('member_id',
        $request->userId)->get();
$purchases = \App\Purchase::with(array('cheques'=>function($query){
        $query->select('amount');
    }))->where('member_id',$request->userId)->get(['cash','created_at']);
我试图从支票和“现金”中获取金额,从“会员id”=$request->userId的购买中获取“created_at”,但使用此代码时,我会得到空支票:

$purchases = \App\Purchase::with('cheques')->where('member_id',
        $request->userId)->get();
$purchases = \App\Purchase::with(array('cheques'=>function($query){
        $query->select('amount');
    }))->where('member_id',$request->userId)->get(['cash','created_at']);
尝试从文档中加载特定列部分-

它说:

使用此功能时,应始终在要检索的列列表中包含id列

如果要使用集合的get方法选择列,则需要传递id:

->获取['id'、'cash'、'created_at'];或者你可以使用->选择“现金”,“创建时间”-->get

你喜欢哪个。

你能试试这个吗

$purchases = \App\Purchase::with(array('cheques'=>function($query){
    $query->select('id', 'amount', 'purchase_id');
}))->where('member_id',$request->userId)->get(['cash','created_at']);
如果您尝试$purchases=\App\Purchase::where'member_id',$request->userId->witharray'cheques'=>函数$query{$query->select'amount';}->选择'cash','created_at'->get;