查询具有关系的模型字段

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

枚举器

  • 唯一身份

用户

我想编写一个查询来获取同一集合中的 unique_id 和 first_name 。

这就是我所拥有的;

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

我该怎么办?


不负相思意
浏览 97回答 1
1回答

LEATH

如果您想在同一集合中获取多个表列,最好在此处使用联接查询,如下所示$joinTableName = (new App\User())->getTable();$fromTableName = (new App\Enumerator())->getTable();$foreignKey = "enumerators_id"; //user table set foreign key$localKey = "id";  //enumerators table column local key$selectColumns = [    "{$joinTableName}.first_name",    "{$fromTableName}.unique_id",];$a = App\Enumerator::select($selectColumns)    ->join(        $joinTableName,        "{$joinTableName}.{$foreignKey}",        '=',        "{$fromTableName}.{$localKey}")->get();dd($a);
打开App,查看更多内容
随时随地看视频慕课网APP