2016-03-01 2 views
0

у меня есть этот код, таблица с relatioship это сам:Laravel 5 Json с отношением

Категория Модель

class Cateogry extends Model { 
    public function subCategory(){ 
     return $this->hasMany('\App\SubCategory'); 
    } 
} 

SubCategory Модель

<?php 
class SubCategory extends Model { 
    public function Category(){ 
     return $this->belongsTo('\App\Category'); 
    } 
} 

В контроллере

SomeController

<?php 

class SomeController extends Controller { 
    public function index(){ 
     return Category::with('subCategory')->get() 
    } 
} 

, когда я возвращаю Категория :: с (подкатегория) -> get(); он печатает:

{ 
      "id": 43, 
      "name": "Quartos", 
      "subcategories_id": null, 
      "sub_category": [ 
       { 
        "id": 43, 
        "name": "Quartos", 
        "subcategories_id": null 
       } 
      ] 
     } 
    { 
     "id": 55, 
     "name": "Jovenil", 
     "subcategories_id": 2, 
     "sub_category": [ 
      { 
       "id": 55, 
       "name": "Jovenil", 
       "subcategories_id": 2 
      } 
     ] 
    } 

вместо:

{ 
      "id": 43, 
      "name": "Quartos", 
      "subcategories_id": null, 
      "sub_category": [ 
       { 
        "id": 50, 
        "name": "Casal", 
        "subcategories_id": 1 
       } 
       { 
        "id": 51, 
        "name": "Jovenil", 
        "subcategories_id": 2 
       }(...) 
      ] 
     } 

почему запрос делает это?

+0

Я не понимаю. Пожалуйста, исправьте ваши орфографические ошибки и объяснить более подробно, что происходит – OskarD90

ответ

0

просто попробовать это и тестировать свой код, а также поделиться своими результатами

return Category::with('subCategory')->where('id',43)->get();

+0

Результат: [ { "ID": 43, "имя" : "Quartos", "subcategories_id": нулевой, "sub_category": [ { "идентификатор": 43, "имя" : "Quartos", "subcategories_id": нулевая } ] } ] –

+0

ли результаты хорошо? или все еще отсутствует. пожалуйста, проверьте свои записи в БД, значит, проверьте, сколько записей существует против 'Category ID 43' – Qazi

+0

Я могу появиться только один раз. i my db id 43 - это категория «quartos». в json появляется категория и подкатегория. В результате получится: «quartos»: {'casal', 'jevenil'} –

0

Я изменить это:

Category Model 

class Cateogry extends Model { 
    public function subCategory(){ 
     return $this->hasMany('\App\SubCategory'); 
    } 
} 

SubCategory Model 

<?php 
class SubCategory extends Model { 
    public function Category(){ 
     return $this->belongsTo('\App\Category'); 
    } 
} 

к этому:

class Subcategory extends Model { 

     protected $table="categories"; 
     public $timestamps = false; 

     public function Category() { 
      return $this->belongsTo('\App\Category','id'); 
     } 

    } 

class Category extends Model { 

    protected $table="categories"; 
    public $timestamps = false; 

    public function subCategory() { 
     return $this->hasMany('\App\Subcategory','subcategories_id'); 
    } 

} 

И работает отлично , спасибо Qazi за нашу помощь

+0

да, вот что я просил. Отлично. – Qazi

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