在 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 或表单

如何在codeigniter中将数据从视图发送到控制器

如何在laravel php中将变量从视图传递到控制器而没有表单

在 Laravel 5.1 中通过 AJAX 将用户输入数据从视图传递到控制器

在Codeigniter中将javascript变量从视图发送到控制器[重复]

在 MVC 中将数据从视图传递到控制器时,数据列表变为空