![](/img/trans.png)
[英]Laravel Eloquent ORM returning stdClass instead of Model instance
[英]Laravel - Returning an Eloquent Instance Syntax
所以我有一个带有构造函数的控制器,该构造函数使用Reflection注入Eloquent Model依赖项:
public function __construct(Analysis $analysis)
{
$this->analysis = $analysis;
}
此依赖项还具有通过反射注入的其他Eloquent Model依赖项:
use App\Load;
use App\Parameter;
class Analysis extends Model
{
protected $loads;
protected $parameters;
public function __construct(Load $loads, Parameter $parameters)
{
$this->loads = $loads;
$this->parameters = $parameters;
}
}
当我这样转储或死亡时:
dd($this->analysis['loads']);
它返回Load作为Eloquent实例(正如我希望的那样)。
但是,当我尝试像这样转储或死亡时:
dd($this->analysis->loads);
它只是返回一个空集合。 我不知道为什么一个有效,而另一个无效? 我在教程视频中看到了后一种语法的工作。
我不确定要在帖子标题中加上什么,因为我不知道不同语法的术语(analysis ['loads'] vs analysis-> loads)。
因此,将载荷和参数属性更改为public
意味着
dd($this->analysis->loads);
然后将根据需要返回一个Eloquent实例。 可能不是最好的解决方案。 我猜正确的方法是使用getters和setters ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.