在叶片laravel中的声明

时间:2017-12-01 07:46:58

标签: php laravel

我想做一个像这样的LIKE语句:

    @foreach($data as $value) 
    @if(($value->name == $value->Name))
 <th><a href="{{route('user.show',['id'=>$value->pi_id])}}"><span style="color: red;">{{$value->Name}}</span></a></th>
 @endif
    @endforeach

但目前我只是这样做:

{{1}}

这可能吗?我听说我需要为LIKE语句做一些事情,但它不起作用。

$值 - &GT;名称来自验证表,而$ value-&gt;名称来自personal_infos表

3 个答案:

答案 0 :(得分:1)

您应该在第一步按查询过滤数据,然后在那里使用LIKE

BTW,您可以strpos执行此操作,LIKE在查询中使用,请尝试这样

@if(strpos( $value->Name, $value->name))

相反

@if($value->name 'LIKE', '%' . $value->Name . '%')

答案 1 :(得分:1)

Illuminate\Support\Str::is($pattern, $value);
// Str::is("*{$value->Name}*", $value->name)

Illuminate\Support\Str::contains($haystack, $needle);

如果这不区分大小写,strtolower参数。

Str::is Laravel Docs - Helpers - str_is

Str::contains Laravel Docs - Helpers - str_contains

答案 2 :(得分:-1)

另一个答案是解决了已被问到的具体问题,但问题中使用的方法并不是获得所需内容的正确方法。

此过滤逻辑不应放在视图中,因此请在控制器或服务中执行此操作,并仅传递列表ov值,然后可以在模板中输出这些值,而无需任何条件。