未定义变量:用户(查看:/home/laravel/web/laravel.swt101.eu/public_html/abonamenty/resources/views/products/edit
Posted
技术标签:
【中文标题】未定义变量:用户(查看:/home/laravel/web/laravel.swt101.eu/public_html/abonamenty/resources/views/products/edit.blade.php)[关闭]【英文标题】:Undefined variable: users (View: /home/laravel/web/laravel.swt101.eu/public_html/abonamenty/resources/views/products/edit.blade.php) [closed] 【发布时间】:2020-11-16 11:57:51 【问题描述】:首先我在模型和外键中建立了 laravel 关系。我的外键是 user_id。
这是我的观点的一部分,它会产生错误:
<select class="form-controll" name="user_id">
@foreach($users as $user)
<option value="$user->id">$user->name</option>
@endforeach
</select>
这是该视图的控制器方法
<?php
namespace App\Http\Controllers;
use Kyslik\ColumnSortable\Sortable;
use App\Product;
use Illuminate\Http\Request;
use App\User;
...
public function edit(Product $product)
$user = User::all('name','id');
return view('products.edit',compact('product', 'user'));
...
【问题讨论】:
你没有发送 $users 来查看,所以你得到了错误 你需要编辑你的控制器并将$user
变量重命名为$users
这是错字导致的,应该关闭
【参考方案1】:
您将 user
从控制器而不是用户传递给视图。简单地将 user
替换为 users
。
public function edit(Product $product)
$users = User::all();
return view('products.edit',compact('product', 'users'));
【讨论】:
此答案与此处发布的答案有何不同? 在查询中改变了一点 但 OP 没有询问他们的查询 :)【参考方案2】:您在压缩函数中使用的是“用户”而不是“用户”。您的变量也定义为$user
而不是$users
。应该是这样的:
public function edit(Product $product)
$users = User::all('name','id');
return view('products.edit',compact('product', 'users'));
【讨论】:
以上是关于未定义变量:用户(查看:/home/laravel/web/laravel.swt101.eu/public_html/abonamenty/resources/views/products/edit的主要内容,如果未能解决你的问题,请参考以下文章
未定义变量:文件(查看:\resources\views\home.blade.php)
在 Laravel 5.1 中传递数据控制器以查看获取未定义的变量
尝试在 Laravel 7 中查看不同内容时,刀片视图上的 ErrorException 未定义变量
未定义变量:编辑器(查看:/home/marco/prova/resources/views/home.blade.php)