这是我的雄辩代码:
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');
}
}
Eloquent有自己的孩子和父母。这会返回HTTP ERROR 500.我会在 $ with
中删除子后立即生效当我只是从类似控制器调用它时,它也有效:
$testType = TestType::where('id', 1)->first();
return $testType->children;
你能帮我吗?
答案 0 :(得分:1)
当我从控制器
调用with
时,它有效
TestType::with(['children','parent'])->get();
答案 1 :(得分:0)
如果您只想在回复中使用儿童,请执行此操作
$testType = TestType::with('children',function($query){
$query->where('id', 1);})->first();
使用dd()
检查您获得的内容并确保在迁移中使用外键正确指定了关系
我希望如果不随意拍摄查询,这将有效。 :)