查询具有关系的模型字段



我有两个模型,User和Enumerator。我想在枚举器模型中搜索某些列,以及它在用户模型中的关系。这是我所拥有的;

枚举器

  • unique_id

用户

  • first_name

我想写一个查询,在同一集合中同时获取unique_id和first_name。

这是我所拥有的;

Enumerator::with(['user' => function($query) {
$query->select('id', 'first_name', 'last_name', 'email');
}])->get(['first_name', 'unique_id']);

我该怎么做?

如果您想在同一集合中获得多个表列,最好像下面的一样在这里使用联接查询

$joinTableName = (new AppUser())->getTable();
$fromTableName = (new AppEnumerator())->getTable();
$foreignKey = "enumerators_id"; //user table set foreign key
$localKey = "id";  //enumerators table column local key
$selectColumns = [
"{$joinTableName}.first_name",
"{$fromTableName}.unique_id",
];
$a = AppEnumerator::select($selectColumns)
->join(
$joinTableName,
"{$joinTableName}.{$foreignKey}",
'=',
"{$fromTableName}.{$localKey}"
)->get();
dd($a);

相关内容

  • 没有找到相关文章

最新更新