Php 我想在搜索表单中留下条件
我想在搜索时保留搜索条件 我写了 项目索引Php 我想在搜索表单中留下条件,php,laravel,laravel-5.8,Php,Laravel,Laravel 5.8,我想在搜索时保留搜索条件 我写了 项目索引 <form action="{{ route('project.post.index') }}" method="post"> @csrf <input type="search" name="project_name" placeholder="project_name" @if($param->project_name != null) value="{{$param->project_name}}" @els
<form action="{{ route('project.post.index') }}" method="post">
@csrf
<input type="search" name="project_name" placeholder="project_name"
@if($param->project_name != null)
value="{{$param->project_name}}"
@else
value="{!!null!!}"
@endif
>
我犯了这个错误
试图获取非对象的属性“project\u name”这是因为您正在发送 $param->project_name为空
尝试在该变量中发送一些其他数据,如“-”,或忽略该变量以继续操作。您可以尝试使用!清空或者您不需要调用其他部分。如果'if'部分未执行,则它将自动为空
<input type="search" name="project_name" placeholder="project_name" value="@if(!empty($param->project_name)) {{$param->project_name}} @endif">
或者也可以使用三元运算符
<input type="search" name="project_name" placeholder="project_name" value="{{ ($param->project_name) ? $param->project_name : '' }}">
或
$relevantKeys = $param = [
'project_name' => null,
'requester' => null,
'user_name' => null,
'status' => null,
'requester_tell' => null,
'division' => null,
];
foreach ($relevantKeys as $value) {
if (!empty($request->{$value})) {
$query = $query->where($value, 'like', '%' . $request->{$value} . '%');
$param = $request->{$value};
$a = 1;
}
}
if ($a === 0) {
$view = Project::where('status', '!=', 'completed')->get();
return view('project.index', compact('view', 'cats', 'users', 'param'));
}
$view = $query->get();
return view('project.index', compact('view', 'cats', 'users', 'param'));
}
<input type="search" name="project_name" placeholder="project_name" value="{{ $param['project_name'] ?? '' }}">
我没有看到它们中的任何一个value=“{{$param['project_name']??''}”然后它就工作了!您将获得数组,这就是为什么您将其称为对象。