laravel - 为什么 old() 方法在 Laravel Blade 中不起作用?
问题描述
我的环境是 Laravel 6.0 和 PHP 7.3。我想在文本字段中显示旧的搜索值。但是,该old()
方法不起作用。搜索后,搜索的旧值消失了。为什么不显示旧值?我研究过,在大多数情况下,你可以使用redirect()->withInput()
但我不想使用redirect()
. 我更喜欢使用 view()。方法
控制器
class ClientController extends Controller
{
public function index()
{
$clients = Client::orderBy('id', 'asc')->paginate(Client::PAGINATE_NUMBER);
return view('auth.client.index', compact('clients'));
}
public function search()
{
$clientID = $request->input('clientID');
$status = $request->input('status');
$nameKana = $request->input('nameKana');
$registerStartDate = $request->input('registerStartDate');
$registerEndDate = $request->input('registerEndDate');
$query = Client::query();
if (isset($clientID)) {
$query->where('id', $clientID);
}
if ($status != "default") {
$query->where('status', (int) $status);
}
if (isset($nameKana)) {
$query->where('nameKana', 'LIKE', '%'.$nameKana.'%');
}
if (isset($registerStartDate)) {
$query->whereDate('registerDate', '>=', $registerStartDate);
}
if (isset($registerEndDate)) {
$query->whereDate('registerDate', '<=', $registerEndDate);
}
$clients = $query->paginate(Client::PAGINATE_NUMBER);
return view('auth.client.index', compact('clients'));
}
}
路线
Route::get('/', 'ClientController@index')->name('client.index');
Route::get('/search', 'ClientController@search')->name('client.search');
解决方案
更改加载视图的方式并将数组作为参数传递。
// Example:
// Create a newarray with new and old data
$dataSet = array (
'clients' => $query->paginate(Client::PAGINATE_NUMBER),
// OLD DATA
'clientID' => $clientID,
'status' => $status,
'nameKana' => $nameKana,
'registerStartDate' => $registerStartDate,
'registerEndDate' => $registerEndDate
);
// sent dataset
return view('auth.client.index', $dataSet);
然后您可以在视图中将它们作为变量访问,$registerStartDate
但最好先使用该isset()
方法检查它是否存在。
例子<input type='text' value='@if(isset($registerStartDate)) {{registerStartDate}} @endif />
推荐阅读
- html - 对第一个孩子和后代选择器感到困惑
- ruby - Ruby -- Get defining class name
- python - 在中线放置中值标签
- java - Can Apache Spark use TCP listener as input?
- ios - swift5 中的 UITabBar.appearance().barStyle 崩溃
- c# - 如何从 ac# api 获取数据集合并将其转换为角度数组
- autofixture - Register custom ISpecimenBuilder only to a particular type
- css - 保护库组件不被消费者设计样式的标准方法
- angular - 什么 Typescript 类型是更改事件?(角度)
- javascript - How can I refactor a lot of similar nested loops in my Matrix class?