当我返回模型时,Laravel返回非法偏移类型

时间:2016-07-22 15:07:28

标签: php database laravel laravel-4

我正在使用一个从数据库返回几个数据的大型json,我需要返回一个没有任何关系的整数模型,我只需要返回LampModels模型的所有记录与这个伟大的json 。但是Laravel总是给我带来非法的抵消类型。

控制器

public function showAllUdiJson()
  {
    $allLamps = LampModels::all();
    return Ilumination::with('street')
                        ->with('neighborhood')
                        ->with('iluminationinfo')
                        ->with('economyplan')
                        ->with('lamp')
                        ->with('reactor')
                        ->with('aluminumcable')
                        ->with('steelconduit')
                        ->with('alllamps', $allLamps)
                        ->with('ticket')->get();

  }

LampModels

<?php

class LampModels extends \Eloquent {
    protected $fillable = [];
  protected $table = 'lampmodel';
}

照明

<?php

class Ilumination extends \Eloquent {
    protected $fillable = [];

  protected $table = 'ilumination';

  public function street()
  {
    return $this->belongsTo('street');
  }

  public function neighborhood()
  {
    return $this->hasOne('neighborhood', 'id');
  }

  public function iluminationinfo()
  {
    return $this->hasOne('iluminationinfo');
  }

  public function ticket()
  {
    return $this->hasMany('ticket');
  }

  public function economyplan()
  {
    return $this->hasOne('economyplan', 'id' ,'street_id');
  }

  public function lamp()
  {
    return $this->hasOne('lamp', 'id');
  }

  public function reactor()
  {
    return $this->hasOne('reactor', 'id');
  }

  public function aluminumcable()
  {
    return $this->hasOne('aluminumcable', 'id');
  }

  public function steelconduit()
  {
    return $this->hasOne('steelconduit', 'id');
  }
}

See the error

2 个答案:

答案 0 :(得分:0)

您的错误报告非常糟糕,但似乎您的Ilumination模型没有全光灯方法。

你应该让LampModels与你的Ilumination模型建立关系,不要做你做的事情,原因是错误的做法。

答案 1 :(得分:0)

我认为您可以访问在Illumination Model中创建的某个地方票证方法,该方法可以抵消遇到的错误。

public function ticket()
{
  return $this->hasMany('ticket');
}

如果要访问illumin-&gt;票证,则必须将此方法与循环一起使用。

foreach(illumination->tickets as ticket) {
     $field1 =  ticket->field1;
}

如果您仍然遇到任何问题,请在此处分享您的错误日志页面..