У меня есть две таблицы:
Таблица пользователей с идентификаторами
И таблица сообщений с идентификатором пользователя как «от» и идентификатором предложения как offer_id
Я хочу выбрать всех пользователей, которым отправляются сообщения с определенными идентификаторами_предложений
Например
Пользователь с идентификатором 1 отправляет несколько сообщений:
Id from offer_id
1. 1, 5
2. 2, 5
3. 1, 5
4. 1, 3
Я хочу выбрать всех пользователей, которые отправили offer_id = 5, поэтому пользователи с идентификаторами 1 и 2
Как это сделать через eloquent с классом Message и User?
Мне предложили offer_id, поэтому я могу легко выбирать сообщения:
$messages = Message::where('offer_id', $id);
а как выбирать пользователей?
редактирование:
Я попробовал так:
в модели сообщения:
public function fromContact()
{
return $this->hasOne(User::class, 'id', 'from');
}
и затем в контроллере:
$contacts = $messages->fromContact;
но выдает ошибку
редактировать миграцию:
Schema::create('messages', function (Blueprint $table) {
$table->increments('id');
$table->integer('from')->unsigned();
$table->integer('to')->unsigned();
$table->boolean('read')->default(false);
$table->integer('offer_id')->nullable();
$table->mediumText('body')->nullable();
$table->timestamps();
});
и ошибка:
"message": "Undefined property:
Illuminate\\Database\\Eloquent\\Builder::$fromContact",