Laravel 5 多次调用雄辩的关系并不';t返回数据

Laravel 5 多次调用雄辩的关系并不';t返回数据,laravel-5,eloquent,laravel-5.1,Laravel 5,Eloquent,Laravel 5.1,我在Laravel5.1中有一个奇怪的行为,当我在同一代码执行中多次调用一个雄辩模型的关系时,第二次它没有数据 class Items extends Eloquent { public $table = 'items' public function subItems() { return $this->hasMany(Item::class, 'items_id'); } } class Item extends Eloquent {

我在Laravel5.1中有一个奇怪的行为,当我在同一代码执行中多次调用一个雄辩模型的关系时,第二次它没有数据

class Items extends Eloquent {
    public $table = 'items'

    public function subItems() {
        return $this->hasMany(Item::class, 'items_id');
    }
}

class Item extends Eloquent {
    public $table = 'items_item'
    public $fillable = ['items_id'];
}


$items = Items::create();
Item::create([
    'items_id' => $items->id,
]);
Item::create([
    'items_id' => $items->id,
]);


// works
$first = $items->subItems;
// no data
$second = $items->subItems;
// works
$third = $items->subItems()->get();

这是正常的行为吗?在再次调用关系之前,我是否必须以某种方式重置某些内容?

我不知道您重复相同操作的目的。如果$first、$second、$third变量在同一个函数中,请不要重复

而是使用

$first=$items->subItems; $second=$first