【Laravel】クエリビルダ メソッド編
DBクラスよりも簡単にSQLクエリ文を生成できる
クエリビルダのCRUDメソッドをまとめます。
検索編
where
引数にフィールド名(=カラム名)と値を指定することで
条件に合致するレコードに絞り込みます。
where(フィールド名, 値);
orWhere
複数の条件のどれか1つでも合致すればすべて検索する。
where(フィールド名, 値)->orWhere(フィールド名, 値)
whereRaw
検索条件を文字列で指定する。
パラメータ配列に対応した条件設定メソッド。
whereRaw(条件式, パラメータ配列);
orderBy
取り出すレコードの順番を指定。
ascは昇順、descは降順。
orderBy(フィールド名, 'ascまたはdesc')
offset
指定した位置からレコードを取得。
offset(10)とすると最初から10個分移動し
11個目からレコードを取得する。
offset(整数)
limit
指定した数だけレコードを取得。
limit(10)とすると10個だけレコードを取得する。
limit(整数)
生成編
insert
レコードの新規追加を行う。
引数には保存するフィールド名をキーとする連想配列を用意。
DB::table(テーブル名)->insert(データをまとめた配列);
更新編
update
レコードの更新を行う。
引数には保存するフィールド名をキーとする連想配列を用意。
DB::table(テーブル名)->where(更新対象の指定)->insert(データをまとめた配列);
更新対象を指定しないとすべてのレコード内容を更新するので要注意
削除編
delete
レコードの削除を行う。
引数は無く呼び出すだけで実行できる。
DB::table(テーブル名)->where(更新対象の指定)->insert();
削除対象を指定しないとすべてのレコード内容を更新するので要注意
【Elixir】見た目はRuby?Elixirってなに?
Elixir(エリクサー)とは
elixir[不老不死]
ErlangのVM上で動く関数型言語。
コンパイルすることでErlangの実行環境である
BEAMのバイトコードを出力する。
出生
・誕生
2012年
・作成者
Jose Valim
・主な用途
Webアプリ
・分類
関数型/インタプリタ・コンパイラ
関係ワード
Phoenix
Elixirで実装されたWebアプリフレームワーク。
「channel」と呼ばれる双方向の
リアルタイム通信機能を備えている。
Ecto
Elixirの公式プロジェクトで
データベースをラップするORマッパーに
相当する役割を果たす。
Mix
プロジェクトの作成から、テストまで
管理できるビルドツール。
依存関係を管理することもでき
リモートからパッケージを取得できる。
【Laravel】DBクラスの利用
DBクラスとは
Laravelに装備されている 最もシンプルなデータベースアクセス機能です。 このクラスにはデータベースを利用するための 様々な機能が用意されています。
DB::select
DBクラスにある静的メソッドで SQLクエリを実行し結果となるレコードを取得するものです。 メソッド名から想像がつくように select文を実行するものと考えてください。 以下のように呼び出します。
$変数 = DB::select( 実行するSQL文 );
DB::insert
レコードの追加を実行します。 insert文を実行するものと考えてください。 戻り値を設定する必要はありません。
DB::insert( クエリ文, パラメータ配列);
DB::update
レコードの更新を実行します。 update文を実行するものと考えてください。
DB::update( クエリ文, パラメータ配列);
DB::delete
レコードの削除を実行します。 delete文を実行するものと考えてください。
DB::delete( クエリ文, パラメータ配列);
homebrewとは
はじめに
いつも使っているMac book
。
パッケージマネージャーはbrew
を使っています。
いつも何気なく使っているbrew
ですが、よくわかっていないのにネットの情報をコピペ→実行してしまうときがあります。
今回はそんなhomebrew
についてちょっと調べてみました。
homebrewとは?
wikipediaによるとこうなっています。
「Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである」
実行ファイルや設定ファイル、ライブラリetcを一つのファイルとしてまとめているものをパッケージと呼びます。
パッケージ管理システムとはこのパッケージのインストール(アンインストール)作業を一元的管理するものです。パッケージやライブラリの依存関係などが管理できます。
ちなみにパッケージ管理には、
- バイナリを取得するもの
- ソースコードを取得してビルドするもの
のパターンがあるみたいです。
1バイナリとはソースコードを予めビルドした成果物を配布していることを指すようです。
なので1バイナリは2ビルドよりも早くインストールできる特徴を持っているようです。
それに対して2ビルドは、自分のmac
でビルドするので自分のmac
に最適化出来る特徴を持っているようです。
mac
を使う方であればmacports
やfink
を使っている場合もあるかと思います。少し前まではmacports
が人気だったりしたようですね。
【Laravel】バリデーションの検証ルール
Laravelに用意されてるバリデーションの
主な検証ルールについてまとめます
accept
項目がtrue,on,yes,1といった値かどうか確認する
url
urlの形式で書かれているかどうかを確認する
active_url
アドレスで指定されたドメインが
実際に有効なものかどうかを確認する
after: 日付
指定した日付よりも後かどうかを確認する
after_or_equal: 日付
指定した日付と同じかそれより後であるか確認する
before: 日付
指定した日付よりも前かどうかを確認する
before_or_equal: 日付
指定した日付と同じかそれより前であるか確認する
【Laravel】Redirectorの主なメソッド
ルートおよびactionを指定する
ルートの情報設定やコントローラのアクションを指定する場合に使用する。
redirect()->route(ルート名,配列) redirect()->action(アクションの指定,配列)
ビューを指定する
ビューを指定してリダイレクトします。
アクションメソッドなどで
return viewするときに用いられる
名前と同じものです。
redirect()->view(ビュー名)
JSONデータを返す
JSONデータをクライアントに返す場合に用いられるものです。
引数にはJSON形式のテキストを指定します。
これで指定のJSONデータを指定することができます。
redirect()->json(テキスト)
ファイルを返す
ファイルをダウンロードしたり、
表示したりするためのものです。
引数には利用するファイルのパスを
テキストで指定します。
ファイルをダウンロードしたり
PDFやイメージファイルを
表示させたりすることが簡単にできます。
redirect()->download(ファイルパス) redirect()->fie(ファイルパス)