scr.hu/6zp/aoey7 -> "create" -> scr.hu/6zp/9gdho . Product to defaultowy model a ProductController defaultowy CRUD. Co może być nie tak?
// edit
$model->attributes jest okej, sprawdzałem.
scr.hu/6zp/aoey7 -> "create" -> scr.hu/6zp/9gdho . Product to defaultowy model a ProductController defaultowy CRUD. Co może być nie tak?
// edit
$model->attributes jest okej, sprawdzałem.
Według tych scr do modelu nie podajesz wartości z formularza, więc walidacja wyrzuca błąd pustego pola, daj następujący kod:
modelu -> rules.
controller -> metoda obsługująca create.
ewentualnie widok->formularz
Dzięki wielkie za odpowiedź.
Problem w tym, że wszystko jest defaultowe, jak już pisałem. No chyba że gdzieś wkradł się błąd. Jest możliwość że coś nie tak z bazą? Dużo w niej “foreign keys”, pierwszy raz taką robiłem, więc może coś popsułem?
Dam może wszystko, jakby błąd był gdzie indziej:
Controller: wklej.to/jx4UX
Model: wklej.to/eDt5l
Form: wklej.to/maUGg
spróbuj dodać walidację przed save() i zmień save() na save(false), jak będzie wyrzucał błąd walidacji, to coś źle z regułami (w kodzie wydaje się być ok), jak będzie błąd wstaw jeszcze var_dump($_POST[‘Product’]) przed model->atributes powtórz po model->atributes var_dump($model) i podrzuć wynik
public function actionCreate()
{
$model=new Product;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Product']))
{
var_dump($_POST['Product']);
$model->attributes=$_POST['Product'];
var_dump($model);
die();
if($model->validate()){
if($model->save(false))
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
albo ustaw save(false) co powoduje, że nie waliduje danych przed zapisem i zobacz czy się zapisuje do bazy:
public function actionCreate()
{
$model=new Product;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Product']))
{
$model->attributes=$_POST['Product'];
if($model->save(false))
$this->redirect(array('view','id'=>$model->id));
}
$this->render('create',array(
'model'=>$model,
));
}
albo więcej w dokumentacji:
http://www.yiiframework.com/doc/api/1.1/CActiveRecord#save-detail
Sprawa zamknięta, z tego co wiem problem tkwił w obszarze relacji w BD i modelu.