我在laravel中有3张桌子:
class General extends Mode
{
public function populars()
{
return this->hasMany('App\Popular');
}
}
enter code here
和
class Popular extends Model
{
public function general()
{
return this->belongsTo('App\General');
}
}
和
class Specific extends Model
{
public function popular(){
return this->belongsTo('App\Popular');
}
}
...
如何联接表并返回此列表结果:
1. generals 2.popular 3.Specific
答案 0 :(得分:2)
我假设Popular
有很多Specific
,您可以在Popular
模型中添加另一个映射为
class Popular extends Model
{
public function general()
{
return this->belongsTo('App\General');
}
public function specific()
{
return this->hasMany('App\Specific');
}
}
雄辩地将其写为
$generals = General::with('populars.specific')->get();
使用查询生成器,您可以将其加入为
DB::table('general as g')
->join('popular as p', 'g.id','=','p.general_id')
->join('specific as s', 'p.id','=','p.popular_id')
->get();