Php 就像《刀锋拉威尔》中的陈述一样

Php 就像《刀锋拉威尔》中的陈述一样,php,laravel,Php,Laravel,我想做一个类似这样的陈述: @foreach($data as $value) @if($value->name 'LIKE', '%' . $value->Name . '%') <th><a href="{{route('user.show',['id'=>$value->pi_id])}}"><span style="color: red;">{{$value->Name}}</span></

我想做一个类似这样的陈述:

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

@endforeach
@foreach($data作为$value)
@如果($value->name'LIKE','%'。$value->name'%'))
@恩迪夫
@endforeach
但目前我只是这样做:

    @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
@foreach($data作为$value)
@如果(($value->name==$value->name))
@恩迪夫
@endforeach
这可能吗?我听说我需要为类似的声明做一些类似的事情,但它不起作用


$value->name来自验证表,而$value->name来自个人信息表

您应该在第一步通过查询过滤数据,并在那里使用类似的

顺便说一句,您可以通过
strpos
LIKE
在查询中使用,这样试试

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

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

另一个答案是被问到的特定问题的解决方案,但问题中使用的方法不是获得你想要的东西的正确方法

这个过滤逻辑不应该放在视图中,所以在控制器或服务中这样做,并且只传递列表ov值,然后您可以在模板中无条件地输出这些值

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

Illuminate\Support\Str::contains($haystack, $needle);
如果不区分大小写,
strtolower

Str::is


Str::contains

这到底是什么意思?你的foreach什么都不做,它甚至不输出任何东西,所以它的目标是什么?名称来自验证表,而名称来自个人信息表,我想在blade中对它们做一个类似的声明。可能吗?我在网上找不到任何类似或相关的东西internet@Black对不起,忘了在is
$value->Name
$value->Name
中放东西了。这两个词不一样吗?谢谢你的帮助,但似乎没有影响到它,你有其他解决方案吗?对不起,我想我的控制器可能有问题,修好后会给你回复it@Dkna:它应该能工作。您是否通过输入值进行检查,如
@if(strpos('my name is dkna','dkna'))
?我认为它可以工作,只是我的控制器现在出现了一些问题,因为集合现在显示类似的内容,“1=>{341▼ +"Name:“clarice”+“Name:“John”+“created_at::“2017-11-30 06:02:26”}@Dkna:尝试在查询中放入类似的
?是否区分大小写?@lagbox这是一条评论