Search code examples
laravel-admin

Can`t make cascade select in z-song laravel-admin


Laravel Version: 5.8

Laravel-admin: 1.7.9

I can`t make cascade select

I have tables:

users: id, name

categories: id, name

categories_users: id, categories_id, user_id

models:

class User extends Authenticatable {

 public function category()
    {
        return $this->belongsToMany(Categories::class, 'categories_users', 'categories_id');
    }
}



class Categories extends Model {

public function users()
    {
        return $this->belongsToMany(User::class, 'categories_users');
    }
}

I need cascade select:

$form->select('user_id', 'User')->options($seller)->load('categories_id', '/admin/api/users')->required();

$form->select('categories_id', 'Categories of user')->required();

but it not work !!!

Controller:

public function getData(Request $request){

        $user_id = $request->get('q');

        return User::find($user_id)->category()->get(['id', DB::raw('name as text')]);
    }

Solution

  • public function getData(Request $request){
    
        $user_id = $request->get('q');
    
        $q = DB::table('categories_users')->where('user_id', $user_id)->pluck('categories_id');
    
        $categories = Categories::whereIn('id', $q)->get(['id', DB::raw('name as text')]);
    
        return $categories;
    }
    

    It work!