Authorization
Policies
برای درک بیشتر و نحوه استفاده به مستندات لاراول مراجعه کنید authorization policies
method های قابل استفاده :
index
show
create
update
delete
restore
forceDelete
<?php
namespace App\Policies;
use App\User;
use App\Post;
use Illuminate\Auth\Access\HandlesAuthorization;
class PostPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can update the post.
*
* @param \App\User $user
* @param \App\Post $post
* @return mixed
*/
public function update(User $user, Post $post)
{
return $user->type == 'editor';
}
}
Fields
use KarimQaderi\Zoroaster\Fields\ID;
use KarimQaderi\Zoroaster\Fields\Text;
/**
* گرفتن فیلدها برای نمایش دادها
*
* @return array
*/
public function fields()
{
return [
ID::make()->sortable(),
Text::make('نام','name')
->canSee(function ($request) {
return $request->user()->can('viewProfile');
}),
];
}
Index Filtering
اعمال query برای صغحه index برای resource
در مسیر App\Zoroaster\Resources
:
/**
* index صفحه برای query اعمال
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public static function indexQuery($query)
{
return $query->where('user_id', auth()->id());
}