gpt4 book ai didi

laravel-4 - 多对多加入 Laravel Eloquent

转载 作者:行者123 更新时间:2023-12-03 15:39:19 25 4
gpt4 key购买 nike

我正在使用 Laravel 4.1,我想与 Eloquent 建立连接:所以我有 3 个表:

表 1(池):id、name

表2(贡献):id、金额、pool_id、contributor_id

表 3(贡献者):id、last_name

顺便说一下,我有 3 个模型:Pool、Contributer 和 Contribution
提前致谢。

最佳答案

你可以这样做:

$result = Pool::join('Contribution', 'Pool.id', '=', 'Contribution.pool_id')
->join('Contributer', 'Contribution.contributer_id', '=', 'Contributer.id')->get();

或者,如果您在模型中定义关系,例如:
class Pool extends Eloquent {
...
public function contributers(){
return $this->belongsToMany('Contributer', 'contribution');
}
...
}

class Contributer extends Eloquent {
...
public function pools(){
return $this->belongsToMany('Pool', 'contribution');
}
...
}

您可以通过以下方式访问相关模型:
$contributers = $pool->contributers()->get(); // Returns Illuminate/Database/Eloquent/Collection object containing contributers of the pool

或者您可以进行急切加载,例如:
$result = Pool::with('contributers')->get();

http://laravel.com/docs/eloquent#relationships更多细节。

关于laravel-4 - 多对多加入 Laravel Eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com