[英]getting all the data from pivot table in laravel
我正在尝试将所有lead_id放入我的数据透视表中,但是我无法使其正常工作。
控制器:
$levels = Level::all();
$levels->lead()->attach('lead_id');
return $levels;
型号级别:
public function lead(){
return $this->belongsToMany(Lead::class, 'level_students')->withPivot('level_id', 'lead_id');
}
模型负责人:
public function level(){
return $this->belongsToMany(Level::class, 'level_students')->withPivot( 'lead_id', 'level_id');
}
如果您指的是Level
所有lead_id
,则可以使用lead_id
pluck()
。
$level->lead->pluck('lead_id');
我不太确定您要实现什么目标,因为您似乎想检索与任何Level
相关的所有lead_id
。 但是,在这种情况下,您可以为数据透视表创建一个模型(例如LevelLead
)并使用distinct()
或与Query Builder一起使用:
$leadIds = DB::table('level_students')->select('lead_id')->distinct()->get();
如果要获取引用表的列(例如leads
表的name
列),则可以使用JOIN。 查看Laravel的文档以了解更多选项。 例如,假设Lead
的表名是leads
,则:
$leads = DB::table('level_students')->join('leads', 'level_students.lead_id', '=', 'leads.lead_id')->select('level_students.lead_id', 'leads.name')->distinct()->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.