изображение модели Neo4j — извините, я пока не могу вставлять изображения напрямую
Таким образом, статьи могут использовать шаблон. Обратным этому отношению является то, что шаблон используется в статье.
Я настроил классы так:
Код: Выделить всё
Class Template extends Model
{
public function articles()
{
return $this->hasMany('App\Article', 'USED_BY');
}
}
Код: Выделить всё
Class Article extends Model
{
public function template()
{
return $this->belongsTo('App\Template', 'USES');
}
}
У меня есть страница, на которой я хочу в конечном итоге разместить список все статьи в системе, а также некоторые полезные метаданные, например шаблон, который каждая из них использует. Для этого я кое-что настроил в контроллере:
Код: Выделить всё
$articles = array();
foreach (Article::with('template')->get() as $article) {
array_push($articles, $article);
}
return $articles;
Код: Выделить всё
[{"content":"Some test content","title":"Test Article","id":28,"template":null},{"content":"Some flibble content","title":"Flibble","id":31,"template":null}]
Более интересно, если я настрою связь к одному и тому же в ОБОИХ направлениях, он возвращает значения. т. е. если я изменю USED_BY на USES, данные будут возвращены, но это не имеет смысла с архитектурной точки зрения — шаблон не «использует» статью.
Так чего же мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/336 ... eoeloquent
Мобильная версия