Laravel Eloquent принадлежит ToMany - PullRequest
0 голосов
/ 05 марта 2019

У меня есть три таблицы базы данных:

attributes
---------------------------------
| id | name | showed_name | class

attributes_profiles
----------------------------------------------
| id | attribute_name | profile_id | content |

profiles
------------
| id | ... |

Когда пользователь заходит на сайт профиля, я хочу загрузить ВСЕ атрибуты из таблицы, но я также хочу содержимое из промежуточной таблицы (сводная таблица)для этого пользователя (id).

public function Attribute(){
  return $this->belongstoMany('App\Attribute', 'attributes_profiles', 'profile_id', 'attribute_name','id','name')->withPivot('content');
}

С этим классом в модели профилей я не смог бы получить все атрибуты.

Когда я использую класс Profiles () в модели атрибутов, я получаю каждый атрибут, но не контент для пользователя ... но для каждого пользователя.

1 Ответ

0 голосов
/ 05 марта 2019

Когда вы используете отношение «многие ко многим» , вы можете получить доступ к промежуточной таблице с атрибутом pivot. Я вижу, у вас уже есть директива withPivot в отношениях, так что вы готовы к работе.

foreach($profile->attribute as $attribute) {
  $attribute->pivot->content; // The content in the intermediate table
}
...