Laravel 雄辩 - 防止在连接表时覆盖值
好的,所以我有以下两个模型:和Account
Role
class Account extends Eloquent
{
protected $table = 'account';
/* [...] */
public function group() {
return $this->belongsTo('Group');
}
}
和
class Role extends Eloquent {
protected $table = 'role';
public function accounts() {
return $this->hasMany('Account');
}
}
和数据库表:和account
role
account
-------
id
name
role_id (nullable)
role
----
id
name
现在的问题是:
我需要按列排序。但是在联接(或左加入)之后,值将被第二个表中的值覆盖。下面是一些代码:accounts
role.name
$response = Account::with('role')->leftJoin('group', 'group.id', '=', 'account.group_id')->get();
之后,在雄辩的集合中值和不正确。id
name
另外,我需要返回雄辩的类型模型,因为我在JSON中返回响应,重要的是稍后在JS中(解析JSON之后),我可以只做。account.role.name
更改表中字段的名称(如:id -> account_id和:id -> role_id)将是一种解决方法,但这不是我的情况 - 需要为每个表命名主键。id
[编辑]是的,所以问题很简单:如何解决这个问题?