[英]Laravel Eloquent one to many
我有兩個模型,Company和Jobs。 一個公司可以有很多工作。
工作模式:
class Job extends \Eloquent {
public function company() {
return $this->belongsTo('Company');
}
}
公司型號:
class Company extends \Eloquent {
public function jobs() {
return $this->hasMany('Job');
}
}
如果執行以下操作,則我希望$job
對象同時具有job和company對象,就像執行SQL連接時一樣:
SELECT * FROM `jobs` JOIN company ON `company_id` = company.id WHERE jobs.`id` = 156;
相反,如果我這樣做
$job = Job::find($id);
var_dump($job);
exit;
$job
只有工作。
如果我這樣做:
$job = Job::find($id)->company;
var_dump($job);
exit;
我只有公司。
如何使$job
等於SQL連接?
您應該可以使用Laravel的->with()
函數返回模型job
及其關聯的模型company
:
$job = Job::with("company")->find($id);
然后,您應該能夠像通常那樣訪問job
模型中的所有字段:
$job->field_1;
$job->field_2;
...
AND以及公司模型的字段:
$job->company->field_1;
$job->company->field_2;
...
我不是100%熟悉Laravel 5中的用法,但是可以在這里找到任何更多信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.