我正在使用 NeoEloquent 修补 Neo4j 2.3.0 和 Laravel 5.1。我已经设置了几个虚拟节点以及它们之间的一些关系:
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}]
所以问题是 - 为什么返回 null?
更有趣的是,如果我在两个方向上设置与同一事物的关系,它会返回值。即,如果我将USED_BY 更改为USES,则返回数据,但这从架构的角度来看没有意义——模板不会“使用”文章。
那么我错过了什么?