未定义变量:用户(查看:/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)

首先,我在模型和外键中建立了 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'));
        }

...

您在紧凑函数中使用的是 'user' 而不是 'users'。此外,您的变量定义为 $user 而不是 $users。应该是这样的:

public function edit(Product $product)
{   
    $users = User::all('name','id');
    return view('products.edit',compact('product', 'users'));
}

您正在将 user 从控制器传递给视图而不是用户。只需将 user 替换为 users

public function edit(Product $product)
    {   
        $users = User::all();
        return view('products.edit',compact('product', 'users'));
    }