Пробую записать информацию в связанные таблицы, подскажите в чем проблема?
Есть пример записи в связанные таблицы, мб я не так её обьявляю.
Если просто вывести форму, заполнить её данными и вывести на страницу все хорошо.
Выдает ошибку -
Integrity constraint violation – yii\db\IntegrityException
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`yiiwork`.`work_news`, CONSTRAINT `category_id` FOREIGN KEY (`id_category`) REFERENCES `work_categorynews` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
The SQL being executed was: INSERT INTO `work_news` (`id`) VALUES (DEFAULT)
Т.е. он не получает данные?
Код функции контроллера
//Добавление новостей
public function actionCreate()
{
$news = new News();
$category = Categorynews::findOne(4);
//загрузка и валидация
if ($news->load(Yii::$app->request->post()) && $news->validate()) {
//Блок загрузки изображения
$file = UploadedFile::getInstance($news, 'image'); //Get the uploaded file
$fp = fopen($file->tempName, 'r');
//$content = fread($fp, filesize($file->tempName));
$content = file_get_contents($file->tempName);
fclose($fp);
$news->image = $content;
$category->link('news', $news);
$news->save();
return $this->render('entry-confirm', ['model' => $news]);
} else {
// либо страница отображается первый раз, либо есть ошибка в данных
return $this->render('create', [
'model' => $news,
]);
}
}
Код функции модели News
public function getIdCategory()
{
return $this->hasOne(Categorynews::className(), ['id' => 'id_category']);
}
Код функции модели Categorynews
public function getNews()
{
return $this->hasMany(News::className(), ['id_category' => 'id']);
}