簡體   English   中英

Laravel 3-雄辯的查詢返回規則

[英]Laravel 3 - Eloquent query returns rules

我正在嘗試首次發送使用模型,並陷入混亂。 當我運行查詢時,規則與之相關聯,是否應該像這樣?

模型:

class User extends Elegant
{
    public static $table = 'users';

    protected $rules = array(
        'email' => 'required|email',
        'firstname' => 'required',
        'lastname' => 'required',
        'initials' => 'required|alpha|match:/[A-Z]+/',
        'role' => 'required|in:writer_fr,writer_en,reader',
        'password' => 'min:6,max:32|same:password2'
    );

    public static function has_role($role)
    {
        //$u = new User;
        $users = User::where($role, '=', 1)->get(array('firstname', 'lastname'));
        return $users;
    }
}

控制者

$u = array();
$u['writer_en'] = User::has_role('writer_en');
dd($u['writer_en']);

打印出整個模型的規則,消息,關系等邏輯。 我是在做錯事還是正常現象?

has_role方法中,您將返回User模型

public static function has_role($role)
{
    //$u = new User;
    $users = User::where($role, '=', 1)->get(array('firstname', 'lastname'));
    return $users; // <-- User model
}

因此,它正在轉儲User模型,並通過執行以下代碼來做正確的事情

$u = array();
$u['writer_en'] = User::has_role('writer_en');
dd($u['writer_en']);

除了轉儲模型,您可以使用

$user = User::has_role('writer_en');
echo $user->firstname;
echo $user->lastname;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM