Laravel - Eloquent - 暂时禁用touchOwners

时间:2014-10-09 14:54:19

标签: php laravel eloquent

我有模特

  

用户

在保存时对每条记录执行touchOwners。

<?php

class User extends Eloquent {

  protected $touches = array('userDesk');

  [...]

}

当我想要创建一个新记录时出现问题:eloquent尝试触摸相关表中不存在的字段(因为用户是新创建的,那么怎么会有一个记录引用在相关表格中给这个用户?!?...)。

如何暂时禁用此功能,以便允许我创建新用户而不会产生异常:

  

调用未定义的方法Illuminate \ Database \ Eloquent \ Collection   :: touchOwners()

我试过这个:

$user->setTouchedRelations(array());

但当然它没有用......

1 个答案:

答案 0 :(得分:0)

要保存没有touching false save $someModel = new SomeModel; ... // do something with your model $someModel->save(['touch' => false]); 方法的模型:

setTouchedRelations

当然$someModel = new SomeModel; ... // do what you need $someModel->setTouchedRelations([]); $someModel->save(); 也会有效:

{{1}}