用户模型选择几列,并选择几列从关系表
class UserModel extends Authenticatable
{
use Notifiable;
public $table = 'tbluser';
public $primaryKey = 'UserID';
public $timestamps = true;
public function Role() {
return $this->hasOne("\App\Models\User\Role\RoleModel", "RoleID", "RoleID");
}
}
角色模型
class RoleModel extends Model
{
public $table = 'tblrole';
public $primaryKey = 'RoleID';
public $timestamps = false;
}
我的代码是会从两个表中的所有列。下面的代码显示了从用户表中的所有列,并从关系表中的所有列 - 角色
$data = UserModel::with("Role")->get();
我想下面的代码从两个表中选择几列。
$data = UserModel
::select("UserName", "EmailAddress", "LastName")
->with(['Role' => function ($q) {
$q->select('Role')
}])
->get();
但没有工作。它根据用户表显示了三列,但没有来自角色表的相关记录的信息。
遗漏了什么?
实际上名为RoleID的'role'表的关键是? – Ohgodwhy
是的。它是RoleID。如果你愿意,我可以发送模式。 – Pankaj
所以你有一个表角色,主键是'RoleID'而不是'id'? – Ohgodwhy