我使用以下代码来保存和验证Booking和BookingRoom(链接表)模型,但我一次只能验证一个。我成功了,以下保存并填充了我的数据库,但验证按顺序进行。
$ Booking->保存();
$ BookingRoom->保存();
如何验证和保存多个模型?
答案 0 :(得分:2)
您应该从模型中调用validate()方法,如下面的示例:
// populate input data to $a and $b
$a->attributes=$_POST['A'];
$b->attributes=$_POST['B'];
// validate BOTH $a and $b
$valid=$a->validate();
$valid=$b->validate() && $valid;
if($valid)
{
// use false parameter to disable validation
$a->save(false);
$b->save(false);
// ...redirect to another page
}
有关详细信息,请参阅此link。
答案 1 :(得分:1)
$valid=$a->validate(); $valid=$b->validate() && $valid;
-
$valid=$a->validate();
将返回TRUE
或FALSE
。
让我们说$valid=TRUE
。
现在执行$valid=$b->validate() && $valid;
时,
执行下一个模型的验证,并返回一些值(TRUE OR FALSE)
。
语句将显示为$valid = TRUE && TRUE;
或$valid = FALSE && TRUE;
现在,$valid
中if($valid) { [...] }
的价值为TRUE
或FALSE
并且代码将相应执行。