2013-12-01 2 views
0

У меня есть две таблицы в MySQL.Обновление/Вставка объединенного представления с Laravel 4

CREATE TABLE one { 
    id int PRIMARY KEY, 
    thing varchar(255) 
} 

CREATE TABLE two { 
    id int PRIMARY KEY, 
    thing2 varchar(255), 
    one_id FOREIGN KEY REFERENCES one(id) 
} 

Я создаю взгляд на эти две таблицы, используя следующие:

CREATE VIEW view_table 
AS SELECT one.id, thing, thing2 FROM one, two 
WHERE two.one_id = one.id; 

У меня есть модель, подобную этой:

<?php class Blah { protected $table = 'view_table'; } 


Желаемая функциональность я надеялся для достижения этого является то, что при создании нового экземпляра объекта Blah и его сохранения ( Blah::create($data)) я бы посмотрел правильно rela в обеих моих таблицах, один и два. То, что я получаю, это новый ряд в один, а два полностью пуст. Что мне не хватает для достижения желаемой функциональности?

Редактировать: После устранения небольшой ошибки, которую я сделал, кажется, что я допустил ошибку, кажется, что я просто не могу вставлять в join-views, а только udpate. Есть ли элегантное решение для решения этой проблемы?

ответ

0

На большинстве платформ вы можете использовать триггер «вместо» на представлении. MySQL не поддерживает «вместо» триггеров. Он также не поддерживает триггеры на представлениях.

Использование рамки, содержащей ORM, отличается. Вы возможно хотите использовать two models and the hasMany() method.

Смежные вопросы