Необработанный запрос к Laravel Query - PullRequest
0 голосов
/ 02 июля 2019

Исходный запрос к Laravel Query

SELECT * FROM plans_subscriptions WHERE starts_on BETWEEN "2019-07-30" AND "2019-07-26" or expires_on BETWEEN "2019-07-20" AND "2019-07-22"

Ответы [ 3 ]

0 голосов
/ 02 июля 2019

Если вы хотите получить ответ объекта, используйте это:

PlansSubscriptions::whereBetween('starts_on', ["2019-07-30", "2019-07-26"]);
                 ->orWhereBetween('expires_on', ["2019-07-20", "2019-07-22"]);
                 ->get();

Если вы хотите получить ответ массива, используйте это:

PlansSubscriptions::whereBetween('starts_on', ["2019-07-30", "2019-07-26"]);
                 ->orWhereBetween('expires_on', ["2019-07-20", "2019-07-22"]);
                 ->get()->toArray();

Мы можем отформатировать дату следующим образом:

$start = date("Y-m-d",strtotime($request->input('from_date')));
$end = date("Y-m-d",strtotime($request->input('to_date')));

и используйте эту переменную в запросе так:

PlansSubscriptions::whereBetween('starts_on', [$start, $end]);
                 ->orWhereBetween('expires_on', ["2019-07-20", "2019-07-22"]);
                 ->get()->toArray();
0 голосов
/ 02 июля 2019

Проверьте это,

$users = DB::table('plans_subscriptions')
->where(function ($query){
  $query->whereBetween('starts_on', ['2019-07-30', '2019-07-26'])
        ->orWhereBetween('starts_on', ['2019-07-20', '2019-07-22']);
})
->get();
0 голосов
/ 02 июля 2019
 PlansSubscriptions::whereBetween('starts_on', ["2019-07-30", "2019-07-26"]);
                 ->orWhereBetween('expires_on', ["2019-07-20", "2019-07-22"]);
                 ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...