Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 打开模型属性不';t工作-拉威尔4_Php_Laravel 4 - Fatal编程技术网

Php 打开模型属性不';t工作-拉威尔4

Php 打开模型属性不';t工作-拉威尔4,php,laravel-4,Php,Laravel 4,我今天有个奇怪的问题。 我有一个关系非常复杂的数据库。 在我的模型上,我得到了以下函数: public function resource(){ dd($this->getAttributes()); switch($this->content_type){ case Content::TYPE_TASKLIST: return $this->belongsTo('Tasklist', 'content_id');

我今天有个奇怪的问题。 我有一个关系非常复杂的数据库。 在我的模型上,我得到了以下函数:

public function resource(){
    dd($this->getAttributes());
    switch($this->content_type){
        case Content::TYPE_TASKLIST:
            return $this->belongsTo('Tasklist', 'content_id');
        case Content::TYPE_FEEDBACK:
            return $this->belongsTo('Feedback', 'content_id');
        case Content::TYPE_SURVEY:
            return $this->belongsTo('Survey', 'content_id');
        case Content::TYPE_MEMO:
            return $this->belongsTo('Memo', 'content_id');
        case Content::TYPE_GEAR:
            return $this->belongsTo('Gear', 'content_id');
    }
    return $this->belongsTo('Resource', 'content_id');
}
这个函数必须改变关系,并给我一个好的,以获得正确的信息。 我检查了上千次列名称,但无法使用开关

$this->content\u类型始终为空,因此不会更改关系。 我试了很多。正如您所看到的,我添加了model属性,但它只返回一个空数组

我不明白为什么这个函数不起作用。我得到的所有其他不动产,直到这些差异资源得到解决。我得到了关于资源id和内容类型的正确信息,但根本不起作用

有人知道为什么吗


谢谢。

我认为您尝试实现多态关系和Laravel有一种优雅的方式来实现这一点

有关详细信息,请参阅

另外,确保您有一个加载了数据的模型实例,以便能够填充属性。否则,它将如您所述为空