在 laravel 9 中的特定用户的另一个模型的下拉列表中显示数据

show data in dropdown list from another model for specific user in laravel 9

你好吗?

我有分支的 CRUD,还有 table 的 CRUD,table CRUD 中有一个选择分支的下拉列表,所以我想显示分支与登录 table CRUD 的用户相关,除非他是 Admin .

这是我试过但不起作用的代码

<?php

namespace App\Traits;

trait Tenantable
{
    public static function bootTenantable()
    {
        if (!app()->runningInConsole() && $user = auth()->user()) {
            static::creating(function ($model) use ($user) {
                $model->owner_name_id = $user->id;
            });

            if (!$user->is_admin) {
                static::addGlobalScope('owner_name', function ($query) use ($user) {
                    $query->where('owner_name_id', $user->id);
                });

            }


        }
    }
}

我在我的控制器中使用这些代码修复了它

public function create()
{
    $user = Auth::user();
    $branch = null ;

     if ($user->is_admin) {
         $branch = Branch::get(['id', 'code']);
     } else {
         $branch = Branch::where('owner_name_id', $user->id)->get(['id','code']);
     }

    abort_if(Gate::denies('category_create'), Response::HTTP_FORBIDDEN, '403 Forbidden');

    return response([
        'meta' => [

            'branch'       => $branch,
            
        ],
    ]);
}