Laravel - 获得包含特定字符串

Laravel - 获得包含特定字符串

问题描述:

我试图让一个查询,给我一个包含一个特定的列的特定字符串(无论第一个字母是大写还是小写每一条记录的所有记录Laravel - 获得包含特定字符串

例如:我传递的字符串是test

而且我在我的数据库中有30条记录,其中5条记录包含test(小写),其中5条包含test(大写)。 ,所以我不需要他们

昨天我得到了一些帮助,但不能让它像我真的想要的那样,并且输出也是错误的

多数民众赞成代码:

$search = $request['search']; 
     $usergroups = Usergroups::where('name', 'like', '%' . str_slug($search, ' ') . '%')->simplePaginate(3); 

$搜索是一个包含我要搜索的字符串变量。

如果我想搜索测试,我只返回每条记录。无论它是否包含测试,测试或独角兽bla bla。我得到一切回来。

有人知道一种方法来解决这个问题吗?我试图编写一个自定义的分页类,但没有为我工作。

enter image description here

+0

为什么在没有'where'的情况下使用'orWhere'? –

+0

使用'where'并且还可以使用'str_slug' laravel函数进行更多的纵容。 –

+0

让我试试这个。 – dwdawdawdaw

我不太确定,但我认为这个班有一个错误。如果我输出$群组我得到这个:

current_page 1 
data: 
    // my data 
from 1 
last_page 2 
next_page_url "http://blabla.de/test?page=2" 
path "http://blabla.de/test" 
per_page 3 
prev_page_url 
to 3 
total 5 

你可以清楚地看到,总共有5项(和多数民众真),并有2页。这也是真的,因为我已将分页设置为分页(3)。

如果我输出我的刀片的链接我得到这样的:

enter image description here

但如果我的“2”点击 - 去最后一页,我不知道为什么,但链接立即变为1-7。

enter image description here

所以之前我想改变分页链接,我得到物品的权利amound,但如果我改变?页= 2,我得到我的表中的所有项目。我不知道为什么,但也许这是laravel的错误。我也用laravel 5.3(目前是5.4)来试用它,但遇到同样的问题。如果我查看phpmyadmin查询日志并手动尝试查询,我也会得到完美的输出结果。如果我使用 - > get()而不是 - > paginate();我也得到正确的输出。我不知道了。

只有当你想链多使用orWhere这里为您记录读取语句。

$users = \App\UserGroup::where('name', 'LIKE', '%Test%')->get(); 

我认为这个问题可能与分页有关。 我加了这个让分页我的2条记录工作命名为测试和测试

$users = \App\UserGroup::where('name', 'LIKE', '%Test%')->simplePaginate(1); 

如果需要使用刀片显示在一个视图中的结果,这可能会有帮助:

https://laravel.com/docs/5.4/pagination#displaying-pagination-results

+0

我已经把它从或从哪里改变到哪里。但我仍然获得所有记录 – dwdawdawdaw

+0

您可以添加该表结构以便重现它吗? – adrastious

+0

当然,我已经更新了这个问题 – dwdawdawdaw