【问题标题】:laravel 5.4 Common data from the database for different useslaravel 5.4 来自不同用途的数据库通用数据
【发布时间】:2018-08-01 02:49:55
【问题描述】:

我有一个数据透视表,其中用户 ID 和项目 ID 所在的位置。我想为 2 个不同的用户绘制所有联合项目。怎么做?我目前正在为登录用户下载所有项目,但我也想为登录用户下载项目,例如 id 为 2 的用户。这就是我现在拥有的:

$user = User::findOrFail(Auth::user()->id);
$projects = $user->projects;

【问题讨论】:

  • 尝试阅读我的建议,我反其道而行之。

标签: php laravel


【解决方案1】:

您可以通过以下条件获取第二个用户的项目:

$user = User::findOrFail(Auth::user()->id);
$projects = $user->projects;
$user2 = User::findOrFail(2);
$sharedProjects = $user2->projects()->whereIn('id', $projects->pluck('id'))->get();

【讨论】:

  • 我有一个问题,我可以在刀片中做这样的事情吗?例如显示用户的所有项目 - {{ $user->projects}} ??
  • @PatrykPrzybylski 是的,你可以,->with('user', $user) 先在视图中调用它
【解决方案2】:

好的,所以在再次仔细阅读您的问题后,我会反过来。

我假设您有一个项目模型,并且您还在模型中设置了用户关系。

$projects = Project::whereHas('users', function ($query) {
    $query
      ->where('id', Auth::user()->id)
      ->where('id', 2);
})->get();

这就是你要找的吗?

【讨论】:

  • 您永远不会有 id=2 和 id=1 的用户,因此您的子查询永远不会命中 @MyLibrary
猜你喜欢
  • 2017-11-29
  • 1970-01-01
  • 2018-01-07
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多