День бобрый!
Стоит простая задача: в табличке "table_name" записывать некоторые данные с указанием id юзера от имени которого запись делается. Соответственно я так понял делать это надо через внешний ключ! Для этого в табличке "table_name" я сделал колонку и прилепил ей связь:
Код:
ALTER TABLE `table_name` ADD FOREIGN KEY ( `iduser` ) REFERENCES `databasename`.`users` (`id`);
По простоте своей душевной, больше ни каких изменений в БД я не вносил ибо думал что достаточно в колонку iduser вставлять корректные значения из id таблицы users и все у меня будет пучком, но видать чего-то я таки не понимаю - то ли в Kohana, то ли в SQL ибо вот этот кусочек кода:
Код:
$newitem = ORM::factory('Mymodel');
$user = Auth::instance()->get_user();
$newitem->iduser = $user['id'];
$newitem->type = "R";
$newitem->reason = Arr::get($_POST, 'reason','');
$newitem->summ = -(Arr::get($_POST, 'summ',''));
$newitem->comment = Arr::get($_POST, 'comment','');
$newitem->create();
Выдает мне вот такую ошибку:
Код:
Database_Exception [ 1452 ]: Cannot add or update a child row: a foreign key constraint fails (`databasename`.`table_name`,
CONSTRAINT `table_name_ibfk_1` FOREIGN KEY (`iduser`) REFERENCES `users` (`id`)) [ INSERT INTO `table_name` (`type`, `reason`, `summ`,
`comment`) VALUES ('R', 'Тест', -100, 'Тест') ]
Подскажите плиз что читать, где искать и как примус сей починить?! Спасибо!