【发布时间】:2019-05-08 20:16:35
【问题描述】:
我在一个请求中遇到了一个问题,我在它的 authorize() 方法上使用了一个策略。它从输入请求中接收一组 ID,然后我用它从数据库中获取这些 ID,并且我必须确认其中一个记录中名为 Seller_id 的字段是否与登录的用户匹配。如果是这样,o 必须返回 false 并且我不能继续执行该作业,如果不是我继续执行。不确定我是否可以将该数组作为参数传递,所以我尝试了以下选项,但它不起作用。有什么建议吗?
请求
public function authorize()
{
//return true;
$tickets = Ticket::find(request()->input('tickets_ids'))->get();
foreach($tickets as $ticket){
return request()->user()->can('buyTicket', $ticket);
}
}
关于政策
public function buyTicket(User $user, Ticket $ticket){
if($user->id !== $ticket->seller_id){
return true;
}
return false;
}
【问题讨论】:
-
您基本上是想验证通过表单提交的所有门票都属于卖方吗?
-
是的,或者如果可行,如果这些票中的某些票证->seller_id 与用户 ID 匹配,我将返回 false
标签: php laravel laravel-request