Я делаю пользователя для системы обмена сообщениями пользователей в laravel 4. Таким образом, в упрощенной версии я должен использовать таблицу
Первая таблица
пользователей
user_id | user_name
Вторая таблица
Сообщения
message_id | message_from_user_id | message_to_user_id | message_content |
Поэтому, прочитав документацию, я узнал, что у Пользователя много сообщений и сообщений принадлежит Пользователю.
Но как я действительно отношу их к кодированию?
Я довольно смущен, как использовать внешний ключ в этом случае для сообщения, которое будет иметь двух пользователей?
Проверьте это: http://laravel.com/docs/eloquent#many-to-many
В принципе вам нужна структура таблицы, подобная этой
Пользователи: id | имя пользователя
Сообщения: id | от | содержание
user_messages: user_id | message_id
Вы можете определить свои модели следующим образом:
class User extends Eloquent { public function messages() { return $this->belongsToMany('Message'); } public function sent_messages() { return $this->hasMany('Messages', 'from'); } } class Message extends Eloquent { public function from() { return $this->belongsTo('User', 'from'); } public function to() { return $this->belongsToMany('User'); } }