public function tasks(Request $request)
{
$user = auth::user();
$query = Task::query();
$query->with('User')->with('task_type');
$q = $query->paginate($tasksPerPage);
foreach ($q as $task) {
$status = Join::where('user_id', $user->id)->where('task_id', $task->id)->first();
if ($status['user_id'] === $user->id) {
$task->current_status = false;
} else {
$task->current_status = true;
}
}
return $q;
}
Как я могу вернуть только задачу, а не по аутентификации пользователя, в которой объединение не содержит записей, и не по аутентификации пользователя?Как я могу вернуть только задачи неавторизованного пользователя и в которых нет записей в другом соединении таблиц?
Task.php
public $primaryKey = 'id';
public $timestamps = true;
protected $table = 'tasks';
protected $attributes = ['current_status' => 0];
protected $visible = ['id', 'name', 'description','user_id', 'task_type_id', 'User','joined','task_type','current_status'];
public function user()
{
return $this->belongsTo('App\User');
}
public function task_type()
{
return $this->hasOne('App\TaskType', 'id', 'task_type_id');
}
public function joined()
{
return $this->hasManyThrough('App\Join', 'App\Task', 'id', 'task_id', 'id', 'id');
}
Join.php
public function task()
{
return $this->belongsToMany('App\Task', 'join_task');
}
public function user_join()
{
return $this->belongsTo('App\User', 'user_id', 'id');
}