2014-09-24 3 views
-1

У меня есть две таблицы:Laravel Регистрация Связанные Изображения продуктов

product: id | name | category

productimage: id | imagename | productid

Я хочу принять результаты в этом виде:

[{ 
"id":1, 
"name":"abc", 
"category":1, 
"imagename":[ 
    { 
     "id":1, 
     "imagename":abc.jpg 
    }, 
    { 
     "id":2, 
     "imagename":abc1.jpg 
    }, 
    { 
     "id":3, 
     "imagename":abc2.jpg 
    }] 
}] 

и у меня есть две модели:

call:

= product 
= productimage 

<?php 

class Product extends \Eloquent { 
    //protected $fillable = []; 
    protected $table = 'product'; 


    public function productimage(){ 
     return $this->hasMany('productimage'); 
    } 

} 

<?php 

class Productimage extends \Eloquent { 
    //protected $fillable = []; 
    protected $table = 'productimage'; 

    public function product(){ 
     return $this->belongsTo('product'); 
    } 
} 
+0

Это замечательно. Что вы пробовали? – Joe

+0

Вы должны прочитать об отношениях в документации Laravel http://laravel.com/docs/4.2/eloquent#relationships –

+0

На самом деле не совсем ясно, в чем ваша проблема, или ваш вопрос ... Прочитайте документацию, попробуйте и спросите, когда вы столкнетесь с конкретной проблемой. –

ответ

0

Это взято непосредственно из Laravel documentation:

Определить отношения в модели, я предполагаю, что один продукт может иметь только изображение один продукт:

class Product extends Eloquent { 

    public function productimage() 
    { 
     return $this->hasOne('Productimage'); 
    } 

} 

Получить продукт изображение для продукта с идентификатором 1:

$image = Product::find(1)->productimage; 
Смежные вопросы