2016-07-05 73 views
1

我已經閱讀了Laravel 5.1的文檔,但是我找不到(或理解)一種讓父母的ID有孩子的方法。我可以與查詢生成器是這樣做的:如何在Laravel找到一個父母身份的孩子?

$child = \DB::table('children_table')->where('parent_id', $parent->id)->first(); 

但隨着該問題是,它返回一個stdClass的,這是我以後不能再使用更新屬於關聯關係。 任何人都可以幫忙嗎?

+0

'child'通常與'parents'有'hasMany'關係嗎?如果是這樣,請調用關係,並且如果你想要一個*特定的*父項,則合併一個where。 '$ child-> parent() - > find($ parent-> id);',假設關係名稱相當標準。 – CmdrSharp

+0

雖然看起來你並不想在你的例子中得到一個'child'。因爲您正在從'parents_table'中獲取記錄。 – Doom5

+0

對不起,我的意思是'children_table',我現在就編輯它。 –

回答

0

不知道這是你在說什麼,但你可以試試這個:

在父類:

class Parent extends Model 
{ 
    public function children() 
    { 
     return $this->hasMany('App\Child'); 
    } 

在孩子類:

class Child extends Model 
{ 
    public function parent() 
    { 
     return $this->belongsTo('App\Parent'); 
    } 

然後,你應該可以做一些事情:

App\Parent::with('children')->find($id); 
0

您可以在雄辯的模型中使用查詢生成器方法,如where

由於口才型號查詢生成器,你應該檢查所有的 方法上查詢生成器可用。您可以在您的Eloquent查詢中使用這些 方法中的任何一種。

https://laravel.com/docs/5.2/eloquent#retrieving-multiple-models

看到標題爲添加附加約束

相關問題