Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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.3雄辩-从3个表格中选择_Php_Laravel_Laravel 5_Orm_Eloquent - Fatal编程技术网

Php Laravel 5.3雄辩-从3个表格中选择

Php Laravel 5.3雄辩-从3个表格中选择,php,laravel,laravel-5,orm,eloquent,Php,Laravel,Laravel 5,Orm,Eloquent,除了我的最后一个问题 我添加了一个名为Labels的新表,当然也为这个表创建了一个新模型 语言 id name short_name id label_name 字典 id label_id value language_id 标签 id name short_name id label_name 我有这个密码: $lables = Dictionary::whereHas('language', function($query) { $short_name = bas

除了我的最后一个问题

我添加了一个名为Labels的新表,当然也为这个表创建了一个新模型

语言

id
name
short_name
id
label_name
字典

id
label_id
value
language_id
标签

id
name
short_name
id
label_name
我有这个密码:

$lables = Dictionary::whereHas('language', function($query) {
        $short_name = basename(__DIR__);
        $query->where('short_name', $short_name);
    })->pluck('value', 'label_id')->toArray();
我想拉出label\u name字段,而不是label\u id


但是我不知道如何进行此联接。

您可以尝试使用
join()
作为

$lables = Dictionary::whereHas('language', function($query) {
                    $query->where('short_name', 'en');
                })
                ->join('labels', 'dictionary.label_id', '=', 'labels.id')
                ->pluck('dictionary.value', 'labels.label_name')
                ->toArray();

我不能百分之百确定这是否有效,但您可以试一试。

您可以尝试使用
join()
作为

$lables = Dictionary::whereHas('language', function($query) {
                    $query->where('short_name', 'en');
                })
                ->join('labels', 'dictionary.label_id', '=', 'labels.id')
                ->pluck('dictionary.value', 'labels.label_name')
                ->toArray();

我不能百分之百肯定这会奏效,但你可以试一试。

@TrevorHickey谢谢你的拼写correction@TrevorHickey谢谢你的拼写更正