в моем проекте CakePHP 2.0 у меня есть эта модель сценария (следуют псевдо-код):ребенок отношение объекта внутри родителя на CakePHP найти
model Product {
int id;
Video video;
}
model Video {
....
}
Я хочу использовать CakePHP $ this-> Product-> найти ('all'), чтобы получить все мои продукты и связанные видео. CakePHP дают мне результаты в многомерном массиве таким образом:
{
Product: {
id: "3",
video_id: "1",
},
Video: {
id: "1",
url: "c",
},
{
Product: {
id: "3",
video_id: "1",
},
Video: {
id: "1",
url: "c",
}
Как я могу получить видео (дочерний объект) внутри родительского продукта, таким образом:
{
Product: {
id: "3",
video_id: "1",
Video: {
id: "1",
url: "c",
}
}
Я знаю, что именно этот случай его легко создать новый массив, потому что theres только два объекта, но есть ли все равно, чтобы сделать этот автоматический для больших отношений, может cakephp обрабатывать это?
Ваш scenraio полно ложно. Вы не можете поместить класс модели в другую модель. Подробнее: http://book.cakephp.org/2.0/ru/models/associations-linking-models-together.html и http://book.cakephp.org/2.0/ru/models/retrieving-your-data .html –
Благодарим за отзыв. Код, который я показал, - это просто псевдокод. В cakephp вам нужно наладить отношения, но представление того, что архивировано «hasone» и «принадлежит», является именно тем, что я показал. Мне нужно это представление (объект внутри объекта), потому что мне нужно экспортировать json для других plataforms (android/ios), а по умолчанию для моделей в них есть дочерний родительский. – sagits
В вашем примере Продукт принадлежит видео, потому что таблица продуктов имеет внешний ключ. Таким образом, продукт является дочерним элементом видео, но не наоборот. – bancer