【发布时间】:2017-03-27 00:09:03
【问题描述】:
我正在尝试使用 Laravel 访问数据库中的一些数据。我已经设置了我的模型,它工作正常,但是我试图通过在模型中创建一个方法来从另一个表中获取一些数据,该方法获取数据并将模型的属性设置为等于获取的数据。
为了获取数据,我尝试使用 $this->id 属性来获取该行的 ID 并使用它从另一个表中获取数据(例如:SomeOtherModel::where('other_id', '=', $this->id)->get();)
但是,此时模型似乎没有从数据库中获取任何数据(例如:$this->id 为空)。我的构造函数如下所示:
public function __construct() {
parent::__construct();
$this->other_data = $this->getOtherData();
}
有没有办法从数据库中调用$this->id 属性,以便我可以在模型本身中使用它?
【问题讨论】:
-
我建议使用Eloquent Relationships。
-
您可能正在尝试以某种方式使用
Active RecordEloquent,这与其功能相冲突,而不是利用它。无论如何,在构造函数中显然还没有设置属性,所以你不能在那里这样做。阅读此xyproblem.info 并重新表述您的问题,也许我们可以为您提供帮助