Я пытаюсь получить все красноречивые модели, которые соответствуют определенному полю в родительской модели ('Event') и дочерней модели ('Dates').
Я столкнулся с проблемой, из-за которой Laravelутверждает, что мое поле («дата») не существует в дочернем классе, но я не могу понять, почему.Может ли кто-нибудь указать мне правильное направление и объяснить, где я ошибся?
По сути, я пытаюсь добиться извлечения всех событий с утвержденным тегом, истинным И где дата событияопределенного дня, в данном случае 10-го.
Я немного обыскал и посмотрел некоторые примеры в документации Laravel.Я настроил модель («Событие»), чтобы иметь отношение один ко многим с моделью («даты»).Я вижу, что я могу связывать запросы друг с другом, но все становится немного запутанным, когда речь идет о нескольких моделях одновременно (в одном и том же запросе)
Это моя попытка получить данные.
public function calender()
{
$events = Event::where('approved', true)->with('EventDates')->whereDay('date', '10')->get();
return view('events.calender');
}
Это фрагмент из моей ('Event') модели.Я включил сюда только наиболее релевантную информацию, так как есть много атрибутов.
class Event extends Model
{
//
public function user(){
return $this->belongsTo(User::class);
}
public function dates()
{
return $this->hasMany('App\EventDate');
}
}
Это фрагмент из моего файла миграции модели ('EventDate'), показывающий, что 'date' действительно является полем поля('EventDate') модель.Еще раз, я только что включил здесь наиболее релевантную функцию.
class CreateEventDatesTable extends Migration
{
public function up()
{
Schema::create('event_dates', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
$table->date('date')->nullable();
$table->time('startTime')->nullable();
$table->time('endTime')->nullable();
$table->unsignedBigInteger('event_id');
$table->index('event_id');
});
}
}
Я хотел бы иметь возможность получить список соответствующих событий, для которых утвержденный атрибут имеет значение true, и событие.Даты определенного дня (xxxx-xx-10)
В настоящее время я получаю сообщение об ошибке, что столбец даты не может быть найден:
SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «дата» в «предложении где» (SQL: выберите * из events
, где день (date
) = 10 и approved
= 1)