whereMonth не удалось получить даты встреч по месяцам - PullRequest
0 голосов
/ 26 марта 2020

В моем заявлении есть две модели: Встреча и Дата, у встречи много дат, и дата принадлежит встрече, теперь я хочу искать встречи с датами, которые были созданы за определенный 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();
        });
    }

Любая идея, почему она не работает.

1 Ответ

0 голосов
/ 27 марта 2020

fullDate тип столбца должен быть отметкой времени,

, и вы должны добавить это в Date модель:

protected $dates = [
    'fullDate',
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...