【问题标题】:laravel query builder for array type column数组类型列的 laravel 查询生成器
【发布时间】:2017-02-16 15:56:25
【问题描述】:

我有一个包含名称追随者的数组列。我需要使用 orWhere 检查数组是否具有特定元素。在下面的示例中,它适用于用户,但我无法检查关注者数组是否包含 authUser()->id。

->orWhere('task.user', authUser()->id)
->orWhere('task.followers', '[?]', authUser()->id)

感谢任何帮助。谢谢!

【问题讨论】:

  • orWhereIn() 怎么样?
  • @jakubwrona orWherIn 有 orWhereIn('id', array) 格式,有点相反?
  • 什么是array 列?
  • 如果您的列只是一个逗号分隔的列表,似乎是这样,whereIn 将不起作用。您将需要使用 orWhere('task.user', 'LIKE', '%,?,%', authUser()->id) 之类的东西,并且您还应该重新考虑您的架构设计,以拥有一个额外的关注者表,以更优雅的方式处理此问题。

标签: php arrays laravel builder


【解决方案1】:

如果您有追随者的数组列表,并且将此数组与 DB 列追随者进行比较,则使用 WhereIn 并传递数组列表。例如。

->orWhere('task.user', authUser()->id)
->orWhereIn('task.followers', [1, 2, 3, ....])

有关 laravel 中 where 子句的更多信息,请点击此链接:

Laravel Where Clauses

【讨论】:

    猜你喜欢
    • 2016-07-05
    • 2021-11-29
    • 2021-06-04
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    相关资源
    最近更新 更多