Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel 5.4中,Hasone返回null_Php_Laravel_Relationship - Fatal编程技术网

Php 在laravel 5.4中,Hasone返回null

Php 在laravel 5.4中,Hasone返回null,php,laravel,relationship,Php,Laravel,Relationship,在我的交易模式中,我有: public function order() { return $this->hasOne('Model\Interaction\Order'); } 我想拿到交易的订单 Transaction::where('id', 1)->with('order')->get(); 但秩序是空的。在transactions表中,我有order\u id 我做错了什么 谢谢如果您这样定义关系,您应该在订单表中有交易id 由于您在交易表中有订单id,因

在我的交易模式中,我有:

public function order()
{
    return $this->hasOne('Model\Interaction\Order');
}
我想拿到交易的订单

Transaction::where('id', 1)->with('order')->get();
但秩序是空的。在
transactions
表中,我有
order\u id

我做错了什么


谢谢

如果您这样定义关系,您应该在
订单
表中有
交易id

由于您在
交易
表中有
订单id
,因此关系应为:


由于order_id在interactions表上,所以您应该使用belongsTo而不是hasOne,在我的例子中,问题是子表,即我认为有一个关系的关系实际上有多个具有相同值的条目。Eloquent不会为您选择具有匹配ID和切片1的所有关系。 所以,如果你说

public function foo ()
 return $this->hasOne(Bar::class, 'this_class_id');
}

确保
Bar
的表列
此\u class\u id
确实是唯一的,否则您将继续获得空结果

此路径
Model\Interaction\Order
正确吗?@SagarGautam是的
public function foo ()
 return $this->hasOne(Bar::class, 'this_class_id');
}