Я пытаюсь работать, если я сделал что-то правильно. У меня есть модель отдела. В отделе может быть много DepartmentObjectives. Я также создал инверсию. Так что это отношения прекрасные.Отношения и запросы связанных моделей
У меня тогда есть Пользовательская модель. Пользователь может иметь множество пользовательских целей, это настроено отлично. В моей user_objectives таблице однако, есть ссылка на отдел Objective
$table->integer('department_objectives_id')->unsigned()->default(0);
$table->foreign('department_objectives_id')->references('id')->on('department_objectives')->onDelete('cascade');
Так цель пользователя связана с задачей отдела. Нужно ли это указывать в моих моделях? Поэтому, если моя модель UserObjectives имеет
class UserObjectives extends Model
{
use SoftDeletes;
protected $table = 'user_objectives';
protected $guarded = [];
public function user()
{
return $this->belongsTo('App\User');
}
public function departmentObjectives()
{
return $this->belongsTo('App\DepartmentObjectives');
}
}
По некоторым причинам это кажется немного странным. В любом случае, когда я создаю цель пользователя в настоящее время, выбирается цель отдела, и я храню идентификатор для цели отдела. Поэтому в моем представлении я могу сделать что-то вроде этого
{{dd($objective->department_objectives_id)}}
И это будет показывать идентификатор цели отдела, к которому это относится. Как я могу получить название цели отдела?
Любой adivce оценил
Благодаря
Структура ваших таблиц не очень ясна, но из того, что я вижу, я думаю, что вам нужно много-много отношений. Если ** user_objectives ** - ваша сводная таблица, вам не нужна модель * UserObjectives *, Laravel автоматически создаст связь. Возможно, вы захотите проверить документ для многих и многих отношений. Https://laravel.com/docs/5.1/eloquent-relationships#many-to-many – TheFallen
Цели, общие для пользователей и отделов? Ваш случай похож на систему тегов, в которой теги могут быть добавлены к видео и изображениям (2 разных модели)? – geoandri
Вид как система маркировки. Отдел может устанавливать цели, которые хочет достичь отдел. Когда пользователь создает свою собственную индивидуальную цель, им необходимо связать ее с задачей отдела. –