2017-07-26 15 views
1

Laravelのユーザーモデルから2つのオブジェクトがあります。たとえば、Laravelの2つのオブジェクトを比較します

public function someFunction(User $user) { 
    $adminUser = User::where('role', '=', 1); 
    if($adminUser === $user) { 
     return true; 
    } 
    return false; 
} 

これはLaravelの2つのオブジェクトを比較する適切な方法ですか? PHP Object Comparisonによると、これはうまくいくはずです。

ありがとうございます。 $user以来

+0

「モデルの特定の列にアクセスせずに比較する方法はありません」とはどういう意味ですか? – Maraboc

+0

$ user-> role – user1506104

+1

ユーザモデル 'isAdmin'でメソッドを定義し、' $ user-> isAdmin() 'を使うのはどうですか? – Maraboc

答えて

4

あなたは、追加のクエリを実行せずにこれを行うことができ、Userインスタンスである:ユーザーの役割は、1とfalseであれば役割が1

+0

モデルの特定の列にアクセスせずに比較する方法はありませんか? (upvoted) – user1506104

1

ない場合

public function someFunction(User $user) { 
    return $user->role === 1; 
} 

このコードはtrueを返します。あなたはこれを試してください:

public function someFunction(User $user) { 

    if($user->role === 1) { 
     return true; 
    } 
    return false; 
} 

希望これはあなたのために働く!

+0

モデルの特定の列にアクセスせずに比較する方法はありませんか? (upvoted) – user1506104

関連する問題