从同一张表之间的关系中抽出primaryKey

时间:2018-10-18 17:43:48

标签: php laravel

Cursos与Cursos有UPDATE yt SET yt.Regist = LEFT(yt.Regist + REPLICATE(' ', 143), 143) FROM dbo.YourTable yt WHERE yt.name = 'Excel' AND LEN(yt.Regist) < 143; 关系,我只想从相关的Cursos中获得many-to-many

primaryKey

问题:$curso = Curso::with(['thumb','interna','area','cursos_relacionados' => function($query){ $query->pluck('curso_id'); }])->find($curso_id);

我可以这样做:

Column 'curso_id' in field list is ambiguous

但是我想知道是否可能,以及如何向DB::table('cursos_has_cursos_relacionados')->select('curso_relacionado_id') ->where('curso_id','=',$curso_id)->pluck('curso_relacionado_id')->toArray(); 方法添加别名,并使用第一个代码示例。

更新

这是关系

with()

2 个答案:

答案 0 :(得分:0)

问题:Column 'curso_id' in field list is ambiguous.

您需要指定表'thumb.curso_id'或所需的表。

答案 1 :(得分:0)

不幸的是,我找不到关于在with()方法上设置别名的任何信息。但是,如果有人发现自己在这里,就会为同一个锚索而哀求。尝试以下代码,它应该可以正常工作

$curso = Curso::with(['thumb.media_root','interna.media_root','objetivos_media.media_root','area'])->find($curso_id);       
$curso->cursos_relacionados = DB::table('cursos_has_cursos_relacionados')->select('curso_relacionado_id')->where('curso_id','=',$curso_id)->pluck('curso_relacionado_id')->toArray();