我的mysql数据库中有下表
我有个模特 Shipment
我正在用法尔康的orm和我的数据库进行交互。这个 master_id
此表中的字段实际上是 id
另一个原始的,但在同一个表中,你可以看到在图片。id=1是主装运,id=2和id=3是转船。
我现在的模型是这样的
class Shipment extends Model
{
protected $id;
protected $hawb;
protected $master_id;
public function initialize()
{
parent::initialize();
$this->hasMany(
'id',
'Shipment',
'master_id'
);
}
//setters and getters are here
}
当我使用 $shipment = ShipmentModel::findFirst($id);
在我的控制器里,我可以看到 master_id
的 Shipment
.
我想要的是,从我的 Shipment
以检索所有 SubShipments
作为 Shipment
模型,或者至少是 Shipment
模型。
或者更好,如果 ShipmentModel::findFirst($id);
可以填充 SubShipments
自动(如果有)将是最好的!
我真的不知道 $this->hasMany
我的回答是正确的,所以如果有人能告诉我如何继续,我将不胜感激:)
1条答案
按热度按时间t9eec4r01#
您需要提供完整的命名空间,而不仅仅是类名-来解决这个问题
Model 'Shipment' could not be loaded
. 最好是添加别名:然后使用:
Shipment::findFirst()->getSubShipments()
如果您愿意,可以添加这样的方法return $this->getRelated('subShipments')