【问题标题】:Not unique table alias in datatables Laravel数据表Laravel中不是唯一的表别名
【发布时间】:2020-11-05 00:59:25
【问题描述】:

我正在使用 Eloquent 急切加载来显示 Yajra 数据表中动物的所有孩子,但我收到此错误:

我得到所有孩子的功能:

public function hijos()
{
    return $this->belongsToMany('App\Ganado', 'hijos_padres', 'id_padre', 'id_hijo');
}

我的数据表代码:

    if ($request->ajax()) {

        return datatables()
            ->eloquent(Ganado::where('id_ganado', $id)->with('hijos'))    

            ->toJson();
    }

还有这个:

{data: 'hijos.id_ganado', name: 'hijos.id_ganado'},
{data: 'hijos.codigo_ganado', name: 'hijos.codigo_ganado'},
{data: 'hijos.genero', name: 'hijos.genero'},

我的 "hijos" (childrens) 函数有一个自身的关系,所以我不知道如何为表指定别名。

这是我的动物桌:

我还能做什么?

【问题讨论】:

    标签: php database laravel eloquent


    【解决方案1】:

    问题在于模型是自引用的。

    解决方案:您应该为联接中的表设置别名。

    类似这样的:

    Ganado::select('ganado.*')->leftJoin('ganado AS myAlias', 'ganado.mycolumn', '=', 'myAlias.other_column');
    

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2016-04-24
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多