我的表有一个名为version的列,其中有四行包含值
|Version |
|--------|
|5.3 |
|5.2 |
|5.3 |
|5.2,5.3 |
我想得到的行的值不像5.2
我的意思是,我想得到第一行和第三行而不是第二行和第四行。
我使用了Eloquent Model'菜单'进行如下查询。
$query = Menu:where('version', 'NOTLIKE', '%5.2%')->get();
$numberRows = count($query);
$numberRows
等于0
。
我是以正确的方式吗?或者,有没有其他方法可以做到这一点? 我需要帮助。
答案 0 :(得分:18)
将NOTLIKE更改为不喜欢
正确的代码:
$query = Menu::where('version', 'NOT LIKE', '%5.2%')->get();
$numberRows = count($query);
答案 1 :(得分:4)
顺便说一下,你需要一个双冒号::
。
那么您的代码应该是
$query = Menu::where('version', 'NOT LIKE', '%5.2%')->get();
$numberRows = count($query);
答案 2 :(得分:2)
你错过了不喜欢的条款之间的空格。
答案 3 :(得分:0)
您的错误是这个'NOTLIKE'
解决了这个'NOT LIKE'
尝试一下:
$query = Menu::where('field', 'NOT LIKE', '%5')->get();
$query = Menu::where('field', 'NOT LIKE', '5%')->get();
$query = Menu::where('field', 'NOT LIKE', '%5%')->get();
答案 4 :(得分:0)
您需要在NOT LIKE之间添加一个空格,这样看起来就这样
$query = Menu:where('version', 'NOT LIKE', '%5.2%')->get();
$numberRows = count($query);
答案 5 :(得分:0)
$query->where('field', Auth::user()->id)
->orWhere('field','NOT LIKE', '%,'.Auth::user()->id.',%')
->orWhere('field','NOT LIKE', '%'.Auth::user()->id.',%')
->orWhere('field','NOT LIKE', '%,'.Auth::user()->id.'%');
})
答案 6 :(得分:0)
你需要在 NOT 和 LIKE 之间留一个空格,所以它看起来像这样
$query = Menu:where('version', 'NOT LIKE', '%5.2%')->get();