Laravel5.3を使用しています。
ユーザアクションを制御する際に、独自ポリシーを作成しているのですが、
ドキュメントを見るとUserやPoatなどのモデルの型を引数に取っているのですが、
単純にint型などの普通の引数を指定できるのでしょうか?
というのも期待した結果が得られませんでした。
- ドキュメントの例
php
1<?php 2 3namespace App\Policies; 4 5use App\User; 6use App\Post; 7 8class PostPolicy 9{ 10 /** 11 * Determine if the given post can be updated by the user. 12 * 13 * @param \App\User $user 14 * @param \App\Post $post 15 * @return bool 16 */ 17 public function update(User $user, Post $post) 18 { 19 return $user->id === $post->user_id; 20 } 21}
- 自分の実装(ポリシー側)
php
1 public function hoge(User $user, $intHoge) 2 { 3 if ($intHoge === 10) { 4 return true; 5 } 6 return false 7 }
- 自分の実装(コントローラ側)
$intHoge = 10; if ($user->can('hoge', $intHoge)) { echo 'success'; } echo 'failed';
自分の実装は上記のようになっているのですが、
結果が「failed」になってしまいます。
コントローラ側の書き方が悪いのか、
そもそもこのような引数を持つことができないのかが判断できませんでした。
ご教授いただけませんでしょうか。
ちなみに参考にしたドキュメントのURLはこちらになります。
https://readouble.com/laravel/5.3/ja/authorization.html
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/04 04:31