В моем заявлении есть две модели: Встреча и Дата, у встречи много дат, и дата принадлежит встрече, теперь я хочу искать встречи с датами, которые были созданы за определенный c месяц. Это происходит путем просмотра встреч с датами, где это поле даты fullDate равно прошедшему месяцу. Для этого я использую eloquent whereMonth.
К сожалению, функции не возвращают результатов, несмотря на то, что они являются результатами, я подозреваю, что это может быть из-за того, что Date Поле модели fullDate представляет собой строку, а не временную метку, поэтому, возможно, именно поэтому она не работает, я попытался привести fullDate к временной метке, но получаю те же результаты.
fullDate - это строка, подобная этой: «26-3- 2020 ".
Это мой метод контроллера:
public function list2(Request $request)
{
$month = $request->input('month');
$appointments = Appointment::whereHas('dates', function ($query) use ($month){
$query->whereMonth('fullDate', $month);
})->with(['user'])->latest()->paginate($request->input('paginate'));
}
Миграция модели даты:
public function up()
{
Schema::create('dates', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('appointment_id')->index();
$table->foreign('appointment_id')->references('id')->on('appointments')->onDelete('cascade')->onUpdate('cascade');
$table->string('fullDate');//34-3-2020
$table->timestamps();
});
}
Любая идея, почему она не работает.