Я использую Lumen 5.1 и последнюю версию PHPStorm, у меня проблема во многих отношениях со многими, не уверен, что это ошибка кодирования или я должен сообщить об ошибке в PHPStorm.
Модель задачи
public function user()
{
return $this->belongsToMany('App\Models\Auth\User', 'task_user');
}
public function domain()
{
return $this->hasOne('App\Models\Domain', 'domain_id');
}
Модель пользователя
public function tasks()
{
return $this->belongsToMany(Task::class, 'task_user');
}
Модель UserTask
class UserTask
{
}
Иногда все отлично работает, как в добавлении
$task = new Task();
$task->domain_id = $domainId;
$task->title = $title;
$task->due_date = $dueDate;
$task->submit_date = Carbon::now();
$task->created_by = $userId;
$task->save();
$task->user()->sync($assignee);
Нонапример, в редактировании
$task = Task::find($taskId);
$task->title = $task->title === $title ? $task->title : $title;
$task->due_date = $task->due_date === $dueDate ? $task->due_date : $dueDate;
if ($task->is_done != $isDone) {
$task->is_done = $isDone;
if ($isDone == 0) {
$task->closed_by = null;
$task->closed_date = null;
} else {
$task->closed_by = $userId;
$task->closed_date = Carbon::now();
}
}
$task->save();
$task->user()->sync($assignee);
return $this->response->statusOk();
Эта строка
$task->user()->sync($assignee);
PhpStorm говорит:
Method 'user' not found in \Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null less... (Ctrl+F1)
Inspection info: Referenced method is not found in subject class.
По сути, это тот же код, который работает в добавлении, если ясообщить об ошибке в PhpStorm или я что-то не так сделал?