【问题标题】:Fetch names based on comma-separated ids using laravel relations使用 laravel 关系基于逗号分隔的 id 获取名称
【发布时间】:2018-11-24 09:51:40
【问题描述】:

使用 Laravel 模型关系检索基于逗号分隔 id 的名称,任何人都可以帮忙

for ex

$testing= Testpage::with('relationExample')->where('id',$id)->first();

{{testing->user_ids}} -> output is -> 5,9,15,17

我想使用 laravel 关系从用户表中用逗号分隔来显示名称,而不是逗号分隔的 ID

【问题讨论】:

  • 分享所有细节,您的疑问是什么?以及你打算怎么做?
  • 更新了我的问题请检查一次。
  • 这些用户名存储在哪里?
  • 名称存储在用户表中
  • 你试过我的答案了吗?

标签: laravel


【解决方案1】:

您需要另一个查询以逗号展开并将这些 id 设为数组并使用 whereIn('id',$ids)

$ids = explode(',',$testing->user_ids);
$users = Users::whereIn('id',$ids)->pluck('name');
$usersName = implode(',',$users);

【讨论】:

  • 我想使用关系
  • 然后你必须将每个 id 存储在另一个数据透视表的单独行中。
  • 无法使用关系..?
  • 以逗号分隔存储数据是错误的做法。这就是您遇到此问题的原因。
  • 使用 mysql find_in_set 有一个漫长的过程,但我建议使用 db 来代替代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 2018-10-22
相关资源
最近更新 更多