Я работаю в частной системе обмена сообщениями, используя PHP-ActiveRecord ORM.У меня есть модели под названием «Пользователь» и «Сообщение», таблицы MySQL под названием «пользователи» и «сообщения», а в таблице сообщений есть поля с именами «sender_id» и «receient_id».Однако я понятия не имею, как правильно связать отправителей и получателей с моделью пользователя.
Это то, что я имею до сих пор в модели пользователя:
static $has_many = array(
array('messages'),
array('recipients', 'foreign_key' => 'recipient_id', 'class_name' => 'Message'),
array('senders', 'foreign_key' => 'sender_id', 'class_name' => 'Message'),
);
, и это то, что ядо сих пор в модели сообщений:
static $belongs_to = array(
array('sender', 'class_name' => 'User'),
array('recipient', 'class_name' => 'User'),
);
Однако, когда я запускаю код, такой как $ message-> receient-> first_name, он не правильно извлекает имя из модели User, как яхочу этого.Я не уверен, что я делаю неправильно.
Обычно я просто использую стандартные соглашения об именах.Однако для этого примера у нас должны быть sender_id и receient_id, которые оба относятся к одному и тому же типу, поэтому я не могу просто использовать стандартные соглашения об именах, как я это делал.
Любая помощь будет принята с благодарностью,Я использую PHP-ActiveRecord ORM.Я думаю, что версия Rails более широко используется, но, насколько я понимаю, они работают одинаково, за исключением разного синтаксиса.