How do I filter a select list in Laravel Nova that uses a BelongsTo field?

I have a Quiz Resource that is used to define the questions and answers in a quiz.

A BelongsTo field is used to select the creator of that quiz - it pulls this information out of my users table. However, I only want to pull users that have the 'role_id' of 1 or 2.

I am trying to use the relatable function but it does't seem to want to recognise its existence.

My Quiz Resource:

class Quiz extends Resource
{
/**
* The model the resource corresponds to.
*
* @var string
*/
public static $model = 'App\Quiz\Quiz';

public function fields(Request $request)
{

return [
...

BelongsTo::make('User', 'users','\App\Nova\User')
->display(function($user){
return $user->first_name . ' ' . $user->last_name;
}),

...
];
}
}

My Nova Users model:

class User extends Resource
{

public static $model = 'App\Account\User';

public static function relatableQuizzes(NovaRequest $request, $query)
{
return $query->where('role_id', 1);
}
}

I have tried using different function names including: relatableUsers relatableusers relatableQuiz relatableQuizs relatableQuizzes

but each time there is no effect.

How can I filter this list of users by role id?



from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/3bvOGVP
via IFTTT

تعليقات

المشاركات الشائعة من هذه المدونة

I am unable to figure out how to create payment collection request, after a form has been submitted in laravel

laravel, mysql transaction not working after failed one time