Php 拉威尔5号异常关系

Php 拉威尔5号异常关系,php,laravel,laravel-5,Php,Laravel,Laravel 5,寻找一个laravel 5项目,在其中我有一个不寻常的关系来创建 模型Foo正好连接到模型栏的两个实例(在不同的键下),但每个栏只能连接到一个Foo,而不管它占用两个字段中的哪个字段。i、 e Foo id barA() barB() Bar id foo() 不知道如何正确地映射关系。我试过了 Foo{ public function barA(){ return $this->belongsTo('\App\Bar','bar_a_id');

寻找一个laravel 5项目,在其中我有一个不寻常的关系来创建

模型Foo正好连接到模型栏的两个实例(在不同的键下),但每个栏只能连接到一个Foo,而不管它占用两个字段中的哪个字段。i、 e

Foo
  id
  barA()
  barB()
Bar
  id
  foo()
不知道如何正确地映射关系。我试过了

Foo{
   public function barA(){
        return $this->belongsTo('\App\Bar','bar_a_id');
   }
   public function barB(){
        return $this->belongsTo('\App\Bar','bar_b_id');
   }
}
这很有效,但我不知道如何创造关系的另一面

我知道我可以使用1:m的关系,但随后,哪个实体是“a”和哪个实体是“b”变得模糊不清


有人有什么建议吗?

我的方法是使用一对多关系,并使用模型观察者来实施限制

至于识别a和b,在这个物体中还有什么东西可以识别它们吗?您可以始终在模型本身上存储一列,并使用范围来提取正确的列。因此,您将得到类似于
$foo->bar()->a()->first()
$foo->bar()->b()->first()


我会避免像你的问题中那样使用2列方法。在一个老项目上这么做,太可怕了。

谢谢,我会接受你的建议。我会努力使它成为一种1:m的关系。