Php 以简单形式保存错误
我有一个使用Select2小部件的简单表单。我遇到问题的部分如下所示:Php 以简单形式保存错误,php,yii2,save,select2,Php,Yii2,Save,Select2,我有一个使用Select2小部件的简单表单。我遇到问题的部分如下所示: <?php $form->field($model, 'payment_option_id')->widget(Select2::classname(), [ 'data' => [], 'id' => 'payment-option-id-select-field', 'options' => ['placeholder' => Yii::t('app',
<?php
$form->field($model, 'payment_option_id')->widget(Select2::classname(), [
'data' => [],
'id' => 'payment-option-id-select-field',
'options' => ['placeholder' => Yii::t('app', 'Select payment')],
'pluginOptions' => [
'allowClear' => true,
'minimumInputLength' => 0,
'language' => [
'errorLoading' => new JsExpression("function () { return 'Waiting for results...'; }"),
],
'ajax' => [
'url' => '#',
'dataType' => 'json',
'data' => new JsExpression('function(params) { console.log(params); return {q:params.term}; }')
],
]])->label(Yii::t('app', Yii::t('app', 'Payment')))
?>
我在PaymentOption模型中拥有的规则:
public function rules()
{
return [
[['amount', 'date', 'deal_id', 'user_id'], 'required'],
[['amount'], 'number'],
[['date', 'buyer_id'], 'safe'],
[['deal_id', 'user_id', 'payment_option_id'], 'integer'],
[['deal_id'], 'exist', 'skipOnError' => true, 'targetClass' => Deals::className(), 'targetAttribute' => ['deal_id' => 'id']],
[['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['user_id' => 'id']],
[['payment_option_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['payment_option_id' => 'id']],
];
}
“你能显示var_dump的结果吗?”Chinmay补充道。看起来没问题。。您还可以显示您的保存逻辑吗?唯一的事实是,您的值是字符串,但规则中有整数。。如何在表中声明列payment\u option\u id?我认为“payment\u option\u id”的规则使用了错误的模型。我的假设是,它不应该映射到用户模型,而是映射到另一个模型。该错误是一个验证错误,id=18的用户模型不存在。您能显示var_dump的结果吗?@Chinmay添加。似乎可以。。您还可以显示您的保存逻辑吗?唯一的事实是,您的值是字符串,但规则中有整数。。如何在表中声明列payment\u option\u id?我认为“payment\u option\u id”的规则使用了错误的模型。我的假设是,它不应该映射到用户模型,而是映射到另一个模型。该错误是一个验证错误,不存在id为18的用户模型。
public function rules()
{
return [
[['amount', 'date', 'deal_id', 'user_id'], 'required'],
[['amount'], 'number'],
[['date', 'buyer_id'], 'safe'],
[['deal_id', 'user_id', 'payment_option_id'], 'integer'],
[['deal_id'], 'exist', 'skipOnError' => true, 'targetClass' => Deals::className(), 'targetAttribute' => ['deal_id' => 'id']],
[['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['user_id' => 'id']],
[['payment_option_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['payment_option_id' => 'id']],
];
}