Laravel属于从方法

时间:2017-11-23 10:18:19

标签: php json laravel-5.3 relationship belongs-to

我想使用jQuery datatable创建一个列表。但是我对以下用法有疑问。

我的储备模型:

    //Reserve Author
    public function author(){

        return $this->belongsTo(User::class, 'author_id');

    }

    //Reserver
    public function reserver(){

        return $this->belongsTo(User::class, 'reserver_id');

    }    
    //Stock
    public function stock(){

        return $this->belongsTo(Stock::class, 'reference_id', 'code')->where('company_id', $this->company_id);

    }

以下用法成功运作

$reserve = Reserve::find(id);
$reserve->stock->name;

但这种用法不起作用:

Reserve::with('reserver','author', 'stock')->get()->toJson();

Reserver和author关系正在使用此代码,但stock返回null对象。我究竟做错了什么?如果你能帮助我,我会很高兴的。感谢。

1 个答案:

答案 0 :(得分:0)

我以不同的方式解决了这个问题。我习惯了每种方法,现在都在工作。

Reserve::with('reserver','author')->get()->each(function($q){
                $q->setAttribute('stock', $q->stock->toArray());
            })->toJson();

如果有更好的方法,我想使用它。感谢。