transaction; $user = auth()->user(); $isAdmin = auth()->user()->role->permissions->contains(function($value){ return $value->code == "transaction.online"; }); $isOwner = (@$transaction->customer->user->id == @$user->id) && ($transaction->status == 'WAIT_PAYMENT' || $transaction->status == 'WAIT_PROCESS'); return $isAdmin || $isOwner; } public function rules() { return [ 'note' => 'nullable|string', ]; } }