簡體   English   中英

如何在Laravel中擴展現有的外牆?

[英]How can I extend an existing facade in Laravel?

給定下面的標准用戶模型(有少量添加),如何添加以下name_list函數,以便可以通過常規Model Facade使用它?

我想使用它,例如: User::name_list()

注意:我知道我實際上可以將方法標記為static ,但是我不是要訪問靜態方法,而是要通過ioc容器公開一個普通方法。

class User extends Eloquent {

    protected $hidden = array('password');
    protected $guarded = array();

    public function name_list() 
    {
            return User::lists("name");
    }

}

改用雄辯的范圍。 使用范圍,可以鏈接多個方法。

public function scopeName_list($query)
{
   return $query->get()->lists('name');
}

// and then call...
User::name_list();
// or
User::whereActive(true)->name_list();

暫無
暫無

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

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