Php laravel 5在控制器中获取当前语言id
我是laravel的新手,我想知道如何通过当前语言代码(语言表的一列)获取语言id(数据库中的主键“id”) 在我的语言模型中,我创建了如下函数:Php laravel 5在控制器中获取当前语言id,php,laravel,Php,Laravel,我是laravel的新手,我想知道如何通过当前语言代码(语言表的一列)获取语言id(数据库中的主键“id”) 在我的语言模型中,我创建了如下函数: public function getLang($lang_code = null) { $lang_code = App::getLocale(); return SELF::with($lang_code)->get(); } 在homeController中,我添加了以下代码行: $lang = Langua
public function getLang($lang_code = null) {
$lang_code = App::getLocale();
return SELF::with($lang_code)->get();
}
在homeController中,我添加了以下代码行:
$lang = Language::with('getLang');
echo $lang->id;
出现错误:
at HandleExceptions->handleError('8', 'Undefined property: Illuminate\Database\Eloquent\Builder::$id', '/home/otherraylinux/public_html/starter/app/Http/Controllers/HomeController.php', '52', array('articles' => object(Collection), 'lang' => object(Builder))) in HomeController.php line 52
编辑
我真正想做的事情是:
$lang = DB::table('languages')->select('id')->where('lang_code', '=', App::getLocale())->get();
echo $lang[0]->id;
编辑
有什么问题?获得身份证的最佳做法是什么?我知道上面的代码在实践中不太好。您可以在laravel 5中使用查询范围 型号
public function scopeLangCode($query, $lang_code)
{
return $query->where('lang_code', $lang_code);
}
控制器
$lang = Language::langCode(App::getLocale())->first();
echo $lang->id;
有关查询范围的更多详细信息:
这就是您要找的吗?您能给我看一下语言表的迁移文件吗?然后尝试不返回echo@Arlind在这里