Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel 5在控制器中获取当前语言id_Php_Laravel - Fatal编程技术网

Php laravel 5在控制器中获取当前语言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

我是laravel的新手,我想知道如何通过当前语言代码(语言表的一列)获取语言id(数据库中的主键“id”)

在我的语言模型中,我创建了如下函数:

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在这里