не понимаю почему не валидируется да и вообще не работает форма....
код модели:
<?php
namespace app\models;
use Yii;
use yii\db\ActiveRecord;
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
class Order extends ActiveRecord
{
public static function tableName()
{
return 'order';
}
public function getOrderItems(){
return $this->hasMany(OrderItems::className(), ['order_id' => 'id']);
}
public function getCategory () {
return $this->hasOne(Category::classname(), ['id' => 'category_id']);
}
public function rules()
{
return [
[['name', 'email', 'phone', 'city', 'price', 'text', 'data'], 'required'],
[['created_at', 'updated_at', 'Category_id', 'company'], 'safe'],
['email', 'email'],
[['status'], 'string'],
[['price'], 'number'],
[['name', 'email', 'phone', 'company', 'city', 'text'], 'string', 'max' => 255],
];
}
public function attributeLabels()
{
return [
'name' => 'Имя',
'email' => 'E-mail',
'phone' => 'Телефон',
'company' => 'Компания',
'city' => 'Город',
'price' => 'Бюджет задачи(ГРН)',
'data' => 'Строки',
'text' => 'Описание задачи',
];
}
}
вот код контроллера:
<?php
namespace app\controllers;
use app\models\Category;
use app\models\Articles;
use app\models\Order;
use Yii;
class SolutionController extends AppController
{
public function actionIndex()
{
$this->layout = 'page';
$this->setMeta('Форма для заказа', 'какое-то описание', 'какие-то ключевики');
$order = new Order;
$categorys = Category::find()->all();
if ($order->load(Yii::$app->request->post()) && $order->validate()) {
echo "good!!!";
return $this->render('good', compact('order', 'categorys'));
}
else {
return $this->render('solution', compact('order', 'categorys'));
}
}
}
ну и представлене (всю вьюху бросать не буду, что бы не захламлять, покажу только форму):
<?php
/* @var $this yii\web\View */
use yii\helpers\Url;
use yii\helpers\html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin() ?>
<?= $form->field($order, 'name') ?>
<?= $form->field($order, 'company') ?>
<?= $form->field($order, 'phone') ?>
<?= $form->field($order, 'email') ?>
<?= $form->field($order, 'city') ?>
<?= $form->field($order, 'price') ?>
<?= $form->field($order, 'data') ?>
<?= Html::submitButton('Заказать', ['class' => 'btn btn-success'])?>
<?php ActiveForm::end() ?>
Ведь все же правильно, почему не работает????