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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

1210閲覧

条件付きのsqlのcase文がわかりません。

chokochokochok

総合スコア46

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/11/12 08:07

編集2018/11/12 08:08

$data['no']の0番目がnなら、DBから取得しないというcase文をかきたいです。
下記if文はイメージです。
このような条件の場合はどのようにcaseを書けば良いのでしょうか?

php

1if (strpos($data['no'], 'n') === 0) { 2 continue; 3 }

sql

1$get_data = DB::table('table_name') 2 ->leftJoin('b', 'a.id', '=', 'b.id') 3 ->orderBy('a.code', 'asc') 4 ->raw(' CASE WHEN strpos($data['no'], 'n') === 0) THEN END ') 5 ->get(['id']) 6 ->toArray();

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

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

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

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

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

guest

回答1

0

ベストアンサー

https://laravel.com/docs/5.7/queries#where-clauses
whererawを使うのとMySQLならsubstring関数で条件づけしてあげればよいかと

投稿2018/11/12 08:55

rururu3

総合スコア5545

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

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

chokochokochok

2018/11/12 09:56

回答ありがとうございます。 ->where('g_no', 'not like', 'i%')をDBファザードに追加することで、期待のデータを取得することができました。もっと複雑な条件だと、教えていただいたwhererawを使用すべきですね。 また一つお勉強になりました。ありがとございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問