我有三张桌子:
user: id,name
group: id, name,parent_id用这个做的)//这是一个嵌套的类别
members: id,user_id,group_id,admin
和
group\u member:group\u id,member\u id
我想获取一个成员的所有组(包括子组)。有没有可能通过拉拉维尔做到这一点?
组模式:
public function parent()
{
$parent = $this->belongsTo('App\Group', 'parent_id');
return $parent;
}
public function children()
{
$children = $this->hasMany('App\Group', 'parent_id');
//$children->wherePublish(1);
return $children;
}
public function members()
{
return $this->hasMany(Member::class);
}
public function member()
{
return $this->belongsToMany(Member::class);
}
和成员型号:
public function groups()
{
return $this->belongsToMany(Group::class);
}
public function group()
{
return $this->belongsTo(Group::class);
}
和用户模型:
public function members()
{
return $this->hasMany(Member::class);
}
我希望这样(返回所有相关组):
auth()->user()->members()->groups()->get();
我得到了这个错误:
“调用未定义的方法Illumb\Database\Eloquent\Relations\HasMany::groups()”
请使用以下查询:
App/User::where('id',auth()->user()->id)->with('members.groups')->get();
我试着补充: 并用调用,但响应为空。
我被一个简单的任务困住了。我只需要这通电话的结果 其中,是一个模型。我试过这个 但它不起作用。从表中获取所有数据并对其进行排序的更好方法是什么?
始终使用Laravel Elotent而不是原始SQL有什么好处吗? 我有一个习惯,首先在phpMyAdmin中编写SQL来检查关系,然后将其翻译成雄辩的ORM。 有时,翻译成雄辩的ORM是痛苦和耗时的,尤其是从长而复杂的SQL查询进行翻译。与使用雄辩的ORM相比,我能够用SQL快速编写。
我希望避免一直使用表名,而使用别名。
嘿,伙计们,我是拉威尔的新朋友。我有这张桌子 我如何能够获取每个科目的is_correct列计数? 谢谢伙计们!
问题内容: 认为我是Laravel初学者 目标是:我有两个列,现在我需要在表中以同一行作为前缀。 例如(工作)…我有Mysql 和输出是 ID 我需要用laravel雄辩的方式来表示,因为这里Component是Model name。所以我尝试了类似的东西 但这不起作用。 我认为是因为语法错误。 请帮助我正确的语法。使用 。 注意:我进行了上述查询,将其称为Internet上可用的查询。 问题答案