【发布时间】:2017-08-08 12:20:29
【问题描述】:
所以我有一个带有构造函数的控制器,它使用反射注入 Eloquent 模型依赖项:
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']);
它以 Eloquent 实例的形式返回 Load(如我所愿)。
但是当我像这样尝试转储或死亡时:
dd($this->analysis->loads);
它只是返回一个空集合。我无法弄清楚为什么一个有效而另一个无效?我在教程视频中看到了后一种语法。
我不知道在帖子标题中应该放什么,因为我不知道不同语法的术语(analysis['loads'] vs analysis->loads)。
【问题讨论】:
-
第一个方法描述你的 Eloquent 实例是“数组”类型,而第二个描述你的 Eloquent 实例是“对象”类型
-
您是否定义了分析模型和负载模型之间的关系。
-
你传递给模型的构造函数的是什么? ...为什么?
-
@KelvinC 是的,Load 属于 Analysis,Analysi 有很多 Loads。
-
@nikhil_gandhi 感谢您的回复,您的回答为我提供了错误的线索...