2
我真的不想要重寫Eloquent來做到這一點,它的強大,足以讓它沒有它。Laravel模型,全局過濾器
無論如何,我正在使用一個雲表格應用程序,使用一個表的子域名。數據庫中的每個表都引用此表以將數據過濾到每個子域中(全部使用相同的數據庫)。
所以這通常意味着無處不在我需要調用數據,我需要申請$model->where('site_id','=',CURRENT_SUBDOMAIN_ID);
所以反正是有添加的東西一樣,在雄辯的?仍在學習Laravel,但還沒有找到任何有關這方面的信息。
App::before(function($request)
{
$host = $request->getHost();
$parts = explode('.', $host);
$subdomain = $parts[0];
if($subdomain!='main'){
$site_settings = DB::table('sites')->where('subdomain',$subdomain)->first();
if(!$site_settings){ //find out a better way to do a 404 or redirect
return Redirect::to('http://testing.app:8000/login');
}
Config::set('request.site_name', $site_settings->subdomain);
Config::set('request.site_params', json_decode($site_settings->params));
Config::set('request.site_id', $site_settings->id);
}
});
這是怎麼了搞清楚什麼子域的客戶端是目前,通過它我有一個全球性的SITE_ID,最後一步基本上適用於一種模式。
而且每款車型有以下幾點:
public function site()
{
return $this->belongsTo('\Site');
}
使用全局範圍 - 這裏是完整的解決方案:http://stackoverflow.com/a/26099020/784588 – 2014-11-21 23:37:14
剛剛發現,謝謝。問題是我想過濾時,它更準確地思考範圍大聲笑。 – 2014-11-22 00:43:19