我想在搜索表单中留下条件
I want to leave conditions in the search form
我想在搜索时留下搜索条件
然后我写了
project.index
<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
>
项目控制器
$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'));
}
我遇到了这个错误
正在尝试获取 属性 'project_name' 的非对象
因为你在发
$param->project_name as null
尝试在该变量中发送一些其他数据,如“-”或忽略该变量以继续。
您可以尝试使用 !empty 或者您不需要调用 else 部分。如果 '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 : '' }}">
或
<input type="search" name="project_name" placeholder="project_name" value="{{ $param['project_name'] ?? '' }}">
我想在搜索时留下搜索条件
然后我写了
project.index
<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
>
项目控制器
$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'));
}
我遇到了这个错误
正在尝试获取 属性 'project_name' 的非对象
因为你在发
$param->project_name as null
尝试在该变量中发送一些其他数据,如“-”或忽略该变量以继续。
您可以尝试使用 !empty 或者您不需要调用 else 部分。如果 '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 : '' }}">
或
<input type="search" name="project_name" placeholder="project_name" value="{{ $param['project_name'] ?? '' }}">