【问题标题】:How can I use substr in laravel eloquent?如何在 laravel eloquent 中使用 substr?
【发布时间】:2017-05-04 02:35:12
【问题描述】:

我使用 Laravel 5.3

我的 laravel 雄辩是这样的:

$query = User::where('year', '=', (string)$object->year)               
             ->where(\DB::raw('substr(code, 1, 3)'), '=', 511)
             ->get();

我尝试过这样,但它不起作用

我该如何解决?

【问题讨论】:

  • 你是想用substr的php还是数据库?另外,您使用的是哪个数据库?
  • @linuxartisan,我用的是mongodb和mysql
  • 试过where(\DB::raw('substr(code, 1, 3)'), '=', '511') ?
  • 好吧,我知道substr 是一个php 函数,而不是一个mysql 函数。所以请告诉您是否尝试使用 php substr。如果是,那么您尝试的方式不正确。不能交给mysql去解释。

标签: php laravel laravel-5.3 laravel-eloquent


【解决方案1】:

在此线程上较晚,但对于与上述主题有相同问题的任何人,我通过连接值找到了解决方案。例如:-

return User::whereRaw('SUBSTRING(column, -2,  2) = '.$value)->get();

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您忘记在“=”符号后加逗号。尝试这个 。

       $query = User::where('year', '=', (string)$object->year)               
               ->where(\DB::raw('substr(code, 1, 3)'), '=' , 511)
               ->get();
    

    【讨论】:

    • 我认为 $object->year 中存在问题,您在 where 条件下传递。
    猜你喜欢
    • 1970-01-01
    • 2015-03-08
    • 2016-09-28
    • 2019-10-01
    • 2021-09-29
    • 2015-01-15
    • 2020-10-17
    • 2020-01-06
    • 2018-09-09
    相关资源
    最近更新 更多