簡體   English   中英

Laravel雄辯一對多

[英]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中的用法,但是可以在這里找到任何更多信息:

Laravel文檔-渴望加載

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM