![](/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.