質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

2回答

572閲覧

laravel date timeの検索方法

larara

総合スコア11

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2020/04/01 00:25

前提・実現したいこと

DBにあるdatetimeの情報を検索する方法を探しています。

DB

iddatetimename
12020-03-10 00:00:00AAAA
22020-03-12 10:00:30BBBB
32020-03-12 10:30:00CCCC
42020-03-13 10:30:30DDDD

該当のソースコード

php

1$arr = [ 2 '2020-03-12', 3 '2020-03-13' 4] 5Sample::whereIn('datetime', $arr)->get();

期待値

iddatetimename
22020-03-12 10:00:30BBBB
32020-03-12 10:30:00CCCC
42020-03-13 10:30:30DDDD

ご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

3YearsOnAStone

2020/04/01 00:39

ご利用のPHPとLaravelのバージョンのご提示をお願いできないでしょうか。
nanami12

2020/04/01 00:40

正直なにが問題なのか私には理解不能でした。 hoge となるはずが hohogeとなってしまう。 私が試した手順は以下のとおりです。の形式で 書いてくれると、回答をもらえやすいです あと、自分の端末がMAC , windows, linux のどれかなど
guest

回答2

0

ベストアンサー

下記のようにdatetimeをdateに変換して取得するといけるとおもいます
DB::rawで直接SQLをかけるので
現在、時刻まで対象になってしまっているので日付だけにします

試していただけると幸いです

Sample::whereIn(DB::raw('date(カラム名)'),$arr)->get();

投稿2020/04/01 03:22

編集2020/04/01 03:24
natsume2233

総合スコア225

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

状況に関して多分の推測を含んでおりますが、回答させていただきます。

Laravelのバージョンが5.6.10以上であることが前提ですが、下記のような実装で要件が満たせないでしょうか。

<?php //中略 Sample::where(function ($q) use ($arr) { foreach ($arr as $a) { $q->orWhereDate("datetime", $a); } })->get();

投稿2020/04/01 00:52

3YearsOnAStone

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問