我有一个控制器,它返回所有的票。有一个字段user_id,它是User模型的外键。当我请求api时,我想得到的不仅是user_id,还有get name。
public function index() : TicketsResourceCollection
{
$tickets = Ticket::all();
return new TicketsResourceCollection($tickets);
}工单迁移:
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');发布于 2019-12-02 19:22:09
在您的票证模型中:
public function user()
{
return $this->hasMany('App\Ticket');
}在您的用户模型中:
public function tickets()
{
return $this->belongsTo('App\User');
}这样你就可以从用户那里得到门票了:
$tickets = Ticket::all()->with('users');
或者,您可以获取特定用户的所有票证:
$user = User::find(1);
$tickets = $user->tickets;发布于 2019-12-02 19:26:41
如果您不需要定义关系:
$tickets = Ticket::join('users', 'users.id', '=', 'ticket.user_id')->where('ticket.user_id', 1)->select('ticket.*', 'users.*')->get();但我建议使用幼虫关系是个好东西。
https://stackoverflow.com/questions/59137289
复制相似问题