我想找到属于id = 1
这有效:
$data = Patient::where('user_id', '=', 1)
->with('method', 'images')->get()->toJson();
这不起作用:
$data = User::find(1)->patients->with('method', 'images')->get()->toJson();
它说:
Call to undefined method Illuminate\Database\Eloquent\Collection::with()
为什么这是错的?可以纠正吗?
答案 0 :(得分:2)
您的代码无法正常工作的原因是所有Eloquent关系声明都会返回不同的结果,具体取决于您是尝试以属性还是以方法形式访问关系(使用()
或而不使用 ()
)。
// Return you chainable queries
$query = User::find(1)->patients()->...
// Return you collection of patients
$patientsCollection = User::find(1)->patients;
答案 1 :(得分:1)
尝试
User::find(1)->patients()->with('method', 'images')->get()->toJson();
答案 2 :(得分:0)
试试这个
$patient = New Patient;
$data = $patient->where('user_id','=',1)->with('method','images')->get()->toJson();