首页 > 解决方案 > laravel 中的雄辩关系

问题描述

我有三个表如下:

users:
id, fullname, phone ... 

tasks: 
id, user_id, title, description ...

tasks_state:
id, task_id, comment, rating, createa_at, updated_at

我正在尝试使用 laravel 中的关系在updated_at表中进行排序tasks_state

Model tasks 

public function taskstate()
{
    return $this->hasOne(TaskState::class, 'task_id');
}

Model tasks_state

public function task()
{
    return $this->belongsTo(Tasks::class, 'id', 'taks_id');
}

当我使用时,我希望返回的数据按updated_at表中的字段排序:tasks_state

Tasks:with('taskstate')->get();

期待您的帮助:(

标签: laravellaravel-5relational-databaserelationshiplaravel-5.5

解决方案


像这样更改您的任务模型:

模型任务

public function taskstate()
{
    return $this->hasOne(TaskState::class, 'task_id')->orderBy('tasks_state.updated_at');
}

推荐阅读