2017-11-23 16 views
0

jQueryデータテーブルを使用してリストを作成したいと思います。しかし、私は以下の使い方に問題があります。Laravel belongsToメソッドでnullオブジェクトを返す関係

マイリザーブモデル:用法に従い

//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(); 

リザーバーと著者の関係は、このコードで働いています株式はヌルオブジェクトを返しています。私は間違って何をしていますか?あなたが私を助けることができれば幸せになれます。ありがとう。

答えて

0

私は別の方法で問題を解決しました。私はそれぞれの方法に慣れ、現在は働いています。

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

より良い方法がある場合は、私はそれを使用したいと思います。ありがとう。

関連する問題