在 Laravel 7 中将数据从控制器发送到视图
Posted
技术标签:
【中文标题】在 Laravel 7 中将数据从控制器发送到视图【英文标题】:Sending data from Controller to View in Laravel 7 【发布时间】:2020-08-26 10:48:42 【问题描述】:我想将我的数据从控制器发送到 xedit.blade.php,但我得到了同样的错误:
Undefined variable: users
在控制器中:
public function index3()
$users=User::all();
return view('xedit')->with('users' => $users);
路线:
Route::get('/index3','Admin\UsersController@index3');
我想在刀片中使用 $users。也许有路由问题?
【问题讨论】:
您正在使用箭头符号=>
而不使用数组。声明返回语句的正确方法是return view('xedit')->with(['users' => $users]);
。或者,您可以使用compact
,如该问题的答案之一所示。
【参考方案1】:
想发表评论但没有 50 声望
在使用 =>
时,将 ('users' => $users);
替换为 (['users' => $users]);
【讨论】:
【参考方案2】:在你的索引方法中
public funtion index()
$users=User::all();
return view('xedit', compact('users'));
在您的视图中添加 $users
<table>
@foreach ($users as $item)
<tr>
<td> $item->id </td>
<td> $item->name </td>
</tr>
@endforeach
</table>
【讨论】:
【参考方案3】:你的代码逻辑很完美,我想你必须使用正确的命名来命名你的路由,因为 Laravel 标准。
Route::get('/admin/show','Admin\UsersController@index')-name('admin.show');
public function index()
$users = User::all();
return view('xedit')->with('users' => $users);
在看来,blade 使用了如下的专业方法
@isset($users)
... loop ...
@endisset()
使用dump and die函数dd($users);发送查看之前检查记录
【讨论】:
以上是关于在 Laravel 7 中将数据从控制器发送到视图的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 中将变量从视图传递到控制器而不使用 URL 或表单
如何在laravel php中将变量从视图传递到控制器而没有表单
在 Laravel 5.1 中通过 AJAX 将用户输入数据从视图传递到控制器