2017-09-12 35 views
2

這裏是我的口才代碼:

class TestType extends Model 
{ 
    protected $with = ['parent', 'children']; 

    public function user(){ 
     return $this->belongsTo('App\User'); 
    } 

    public function parent(){ 
    return $this->belongsTo('App\Models\TestType', 'parent_id', 'id'); 
    } 

    public function children(){ 
     return $this->hasMany('App\Models\TestType', 'parent_id', 'id'); 
    } 
} 

雄辯有孩子和家長的自稱。這,只要我孩子$刪除與

返回HTTP錯誤500.它的工作原理也適用時,我只是從像控制器調用它:

$testType = TestType::where('id', 1)->first(); 
return $testType->children; 

你能幫助我嗎?

+0

第1步,總是在你甚至問別人:你去檢查服務器的錯誤日誌。 – CBroe

+0

'PHP致命錯誤:134217728字節允許的內存大小已耗盡... \ vendor \ doctrine \ dbal \ lib \ Doctrine \ DBAL \ Driver \ PDOStatement.php在91行# –

+0

@LevanTetemadze您有多少條記錄? –

回答

1

它工作時,我對內部服務器錯誤調用with從控制器

TestType::with(['children','parent'])->get();

0

如果你只想在你的迴應孩子,然後做這個

$testType = TestType::with('children',function($query){ 
$query->where('id', 1);})->first(); 

做檢查你正在使用dd()並正確使用外鍵在遷移確保您指定的關係越來越

我希望這將工作,如果它不覺得自由拍攝查詢。 :)

+0

不,這不起作用。它在我從模型中刪除'children'和'parent'時起作用,並從控制器調用它:'TestType :: with(['children','parent']) - > get();' –

+0

ok關閉它或者我應該更新我的答案來關閉你的問題? –