2015-01-29 2 views
0

Это немного сложнее и запутаннее ... , но у меня есть модель называется здание, и это имеет отношение к одной и той же модели, но с соотношением belongsToMany ...Laravel belongsToMany самостоятельно реферирование прикрепление Relation

В этой модели я следующее соотношение:

# Building Require one or more another Building(s) 
    public function requires() { 
     return $this->belongsToMany('Building', 'building_require')->withPivot(array(
      'level', 
      'updated_at', 
      'created_at' 
     )); 
    } 

А теперь я хочу заполнить свою промежуточную таблицу building_require:

$obj = Building::find(1); 
$obj->requires()->attach(4, array(
     'level' => 1, 
     'created_at' => new DateTime, 
     'updated_at' => new DateTime, 
)); 

р- РОБЛЕМА: В моей таблице теперь я нахожу эту строку:

+-----+--------------+-------------+--------+----------------------+---------------------+ 
| id | building_id | require_id | level |  created_at  |  updated_at  | 
+-----+--------------+-------------+--------+----------------------+---------------------+ 
| 1 |   4 |   0 |  1 | 2015-01-29 13:33:45 | 2015-01-29 13:33:45 | 
+-----+--------------+-------------+--------+----------------------+---------------------+ 

Но это не так .. Я ожидаю, что это:

+-----+--------------+-------------+--------+----------------------+---------------------+ 
| id | building_id | require_id | level |  created_at  |  updated_at  | 
+-----+--------------+-------------+--------+----------------------+---------------------+ 
| 1 |   1 |   4 |  1 | 2015-01-29 13:33:45 | 2015-01-29 13:33:45 | 
+-----+--------------+-------------+--------+----------------------+---------------------+ 

Почему это происходит?

ответ

0

я могу ответить себе .. отношение должно быть:

# Building Require one or more another Building(s) 
    public function requires() { 
     return $this->belongsToMany('Building', 'building_require', 'building_id', 'require_id')->withPivot(array(
      'level', 
      'updated_at', 
      'created_at' 
     )); 
    } 

возможно кто-нибудь поможет ему.

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