【发布时间】:2019-09-16 10:36:22
【问题描述】:
我有一个像这样的 hasOne(Many) 关系函数:
return $this->hasOne('App\Models\ProductTranslation','product_id','id')->where('language_id', $language_id['id']);
另外,我尝试使用
return $this->hasOne('App\Models\ProductTranslation','product_id','id')->select('product_translations.name')->where('language_id', '1');
在Controller中使用这个
$value=Product::with('translation:name')->find(1);
我尝试从表中只接收一个特定列,但它返回了一个空数组。在调试栏中,当我在 PHPMyAdmin 中使用它时,我看到了查询,它只返回我想要的一列。
这可能吗?
P.S(使用 Laravel 5.8.34)
更新
我在项目中选择“翻译字段和非翻译字段的实体层”方法进行翻译,并且有一个类似 Database picture 的数据库
【问题讨论】:
-
select()必须始终包含外键列。 -
由您评论解决@TharakaDilshan
$value=Product::with('translation:name,**product_id**')->find(1);
标签: php laravel eloquent laravel-5.8 eloquent-relationship