【问题标题】:Laravel Eloquent relational functionLaravel Eloquent 关系函数
【发布时间】:2021-03-20 21:15:48
【问题描述】:
  1. 表用户 => id、first_name、...
  2. 表格标签 => id、名称
  3. 数据透视表 user_tags => id, user_id, tag_id, ...

我在用户模型中使用它:

public function tags()
{
  return $this->belongsToMany('App\Tag', 'user_tag');
}

这在 TagsController 中:

$users = User::with(['tags'])->get();

我需要的是只获取具有空用户标签的标签的用户

【问题讨论】:

  • 你只想要那些有标签的用户吗?
  • 是的,这是获取所有有标签的用户,而不是没有标签的用户

标签: php laravel eloquent model


【解决方案1】:

您可以根据相关记录的有无查询记录。


//Get all users with tags, only get the users which have tags.
$users = User::with('tags')->has('tags')->get();

//Get all users which do not have tags
$users = User::doesntHave('tags')->get();

Laravel 文档:

【讨论】:

    猜你喜欢
    • 2016-08-13
    • 2018-02-09
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多