【问题标题】:Method links does not exist方法链接不存在
【发布时间】:2017-05-21 08:29:57
【问题描述】:

当我这样做时,我得到了这个错误。我希望我的搜索不区分大小写。有什么建议吗?

  $articles = Articles::whereHas('translations',function($query) use($search){
    $query->whereRaw('LOWER(`title`) like ?', array( $search))
    ->orWhereRaw('LOWER(`intro`) like ?', array( $search))
    ->orWhereRaw('LOWER(`content`) like ?', array( $search));
  })->get();

【问题讨论】:

  • “articles”表有什么排序规则?如果是 something_CI,则表示不区分大小写,您需要先转换它
  • 那是你的问题。不久前我遇到了类似的问题,我会在几分钟内发布我是如何解决的。
  • 没关系。我误解了你的问题。默认情况下,您的查询应该不区分大小写(因为您正在使用排序规则)。不需要LOWER(stuff)
  • 我不认为查询有什么问题。你确定你没有在某些方面打电话给$articles->links()$articles->render() 吗?尝试使用->paginate() 而不是->get()
  • 你得到什么错误?另外,你确定(从堆栈跟踪)这段代码是罪魁祸首吗?

标签: laravel laravel-5 laravel-5.2


【解决方案1】:

正如@dev 所说,只有在使用links() 方法时才会出现此错误。你需要做的是:

  1. 使用paginate(10) 而不是get()
  2. 使用render() 代替links(),因为后者已被弃用。

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2019-04-07
    • 1970-01-01
    相关资源
    最近更新 更多