未定义变量:用户(视图:/home/laravel/web/laravel.swt101.eu/public_html/abonamenty/resources/views/products/edit.blade.php)
首先在模型和外键中建立了拉威尔关系。我的外键是用户id 这是我的观点的一部分:未定义变量:用户(视图:/home/laravel/web/laravel.swt101.eu/public_html/abonamenty/resources/views/products/edit.blade.php),php,sql,laravel,orm,frameworks,Php,Sql,Laravel,Orm,Frameworks,首先在模型和外键中建立了拉威尔关系。我的外键是用户id 这是我的观点的一部分: <select class="form-controll" name="user_id"> @foreach($users as $user) <option value="{{$user->id}}">{{$user-&
<select class="form-controll" name="user_id">
@foreach($users as $user)
<option value="{{$user->id}}">{{$user->name}}</option>
@endforeach
</select>
@foreach($users作为$user)
{{$user->name}
@endforeach
这是此视图的控制器方法
<?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'));
}
...
在压缩函数中使用的是“用户”而不是“用户”。此外,变量定义为$user
而不是$users
。应该是这样的:
public function edit(Product $product)
{
$users = User::all('name','id');
return view('products.edit',compact('product', 'users'));
}
您正在将用户
从控制器传递到视图,而不是用户。只需将用户
替换为用户
public function edit(Product $product)
{
$users = User::all();
return view('products.edit',compact('product', 'users'));
}
您没有发送$users以查看,因此您得到了需要编辑控制器并将$user
变量重命名为$users
的错误。这是由键入错误引起的,应该关闭。此答案与此处发布的答案有何不同?在查询中更改了一点,但OP没有询问他们的查询:)