2016-06-09 67 views
-1

好傢伙相關數據我有這組數據庫的
Laravel 5提取使用3種型號

clients(#id,raison_sociale,adresse,)<br> 
delivery(#id,client_id(fk),date_del) <br> 
details(delivery_id(fk),product_id(fk),qt) 
product(id,code,desig,price) 

,這裏是我的口才關係

class Client extends Model { 
    public function livraison(){ 
     return $this->hasMany('App\Models\Livraison'); } } 


class Detail extends Model 
     { 
    public function delivery(){ 
    return $this->belongsTo('App\Models\Delivery');}} 


class Livraison extends Model{ 
    public function client(){ 
    return $this->belongsTo('App\Models\Client'); 
    } 
public function detail(){ 
    return $this->hasMany('App\Models\detail'); }} 


  1. 難道我有什麼不對這些關係?
  2. 我有一個頁面,顯示我的所有交付,但我找不到正確的方法來獲取此行: raison_soc(from client) & date_del(from delivery);和細節表(當然對於每個客戶端)

回答

0
use App\Models\Client; 

Client::with('delivery.detail')->get(); 

我不能測試你的人際關係,但假設你是以下的命名約定的關係應該是罰款。以上將抓取與客戶交付相關的所有細節。

你可以改善與hasManyThrough方法的關係Has Many Through

你會做這樣的事情在你的客戶端類:

public function details(){ 
    return $this->hasManyThrough('App\Models`Details', 'App\Models\Livarasion'); 
} 

如果你更清楚地說明你的第二點,我可以幫你調整這。請讓我知道,如果您有任何問題

+0

謝謝excojish,但它只返回客戶信息 我不能完成的是顯示交貨,並命令他們和他們的細節,我希望我更清楚現在 – Ayoub

+0

我做了DD的結果,我得到了一個有關客戶信息的集合,還有一個關於交付的關係數組(我認爲它的工作,但細節不包括在內,我不知道如何顯示它們) – Ayoub

+0

返回$ this-> hasMany('App \ Models \ detail'); }}細節不正確,對吧?你的課名是Liravision,不是嗎?這應該解決它:) – ExohJosh