サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
blog.hiroyuki90.com
今回は、Laravelでトランザクション処理を行う方法をサンプル付きでまとめました。 Laravelでトランザクション処理を行う方法は2つあります。 DBファザードのtransactionメソッドを利用する手動トランザクション(DBファザードのbeginTransaction, rollBack, commit を利用する)それぞれについてサンプルを交えてまとめました。 DBファザードのtransactionメソッドを利用するDBファザードのtransactionメソッドにクロージャーを渡し、その中でDBの更新処理を行います。 DB::transaction(function () { // 更新処理 }); サンプルとして、記事の情報・記事に関連するタグを同時に更新する場合だと、以下のようになります。 public function update (Post $post, Request
Laravelアプリケーションを作成するまず最初に、下記のコマンドを実行してアプリケーションを作成しましょう。 $ laravel new laravel-bbs 初期設定次に、アプリケーションの初期設定を行います。 ENVファイルの設定.envファイルを編集して初期設定を行います。 今回はメールなどは利用しませんので、データベースの設定を自分のローカル用に設定しましょう。 ※ 以下はmampを利用した場合の設定例です。 DB_CONNECTION=mysql DB_HOST=localhost DB_DATABASE=laravel_bbs DB_USERNAME=root DB_PASSWORD=root DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock 日本語環境の設定タイムゾーンを日本、言語を日本に設定します。 config/app
Webサイトの調査やマーケティング関連の業務の時に、スクレイピングを使うと業務を自動化できてとても便利ですよね。 phpでスクレイピングをする場合は、phpQueryを使うと簡単です。 今回は、phpQueryを使ったスクレイピング方法についてまとめました。 基本的な使い方から、実用的な方法までまとめています。 参考になればと思います。 基本編:phpQueryの使い方 phpQueryは、jqueryのようにDOM操作ができるライブラリです。 ライブラリ追加 composerを使ってライブラリをインストールします。 プロジェクトにcomposerが無ければ、以下のコマンドで初期化します。 $ composer init ライブラリを追加します。 $ composer require electrolinux/phpquery autoloadfile作成します。 $ composer d
Laravelでアプリケーションを開発していて、遅くなってきたなあという時はありませんか? クエリが大量に実行されている可能性があり、そんな場合はwithメソッドを利用することで高速化することができます。 今回は、Laravelのwithメソッドについて、使い方をサンプル付きでまとめました。 Laravelの高速化に役立ててください。 with(Eagerロード)とはEloquentORMでは、リレーションにアクセスする際のデータは、アクセスした時に取得するようになっています。 例えば、ユーザーの一覧に、ユーザーが書いた記事のリストに対して処理を行う場合、 @foreach ($users as $user) @foreach ($user->posts as $post) ... @endforeach @endforeach 以下のような、クエリが実行されることとなります。 ユーザーの
LaravelのEloquentは、シンプルなデータ操作が可能なORMです。今回は、Eloquentのwhere系メソッドの使い方をケース別にまとめました。 題材として、よくあるブログのデータをサンプルに、where系メソッドの使い方を説明します。 ※ 本記事のサンプルはLaravel5.6で動作確認済みです。 テストデータ概要 サンプルとして上記のデータベースを利用します。 記事のデータ(Posts)があり、一人の著者と複数のタグが紐づくデータを想定しています。 記事と著者は1対多、記事とタグは多対多の関係となります。 部分一致記事のタイトルに対して、あるワードが含まれる記事を検索したいケースなどを想定しています。 Eloquentのwhereを使った実装は下記のようになります。 部分一致で検索したいため、whereの第二引数にLIKEを設定します。 $title = 'velit';
※ public/images とURLが干渉するため、photos にしておきます。 ライブラリのインストールと設定まず、「intervention/image」ライブラリをcomposerでインストールします。 $ composer require intervention/image 次に、configファイルの設定を変更します。 # config/app.php # 160行あたりに追加する (providersに追加) Intervention\Image\ImageServiceProvider::class, # 210行目あたりに追加する(aliasesに追加) 'Image' => Intervention\Image\Facades\Image::class, これで intervention/image を利用するための準備は完了です。 あとは、画像をアップロードする
スクロール量に応じて、要素を特定の位置に固定表示する方法をご紹介します。 数年前は、Javascriptを利用して、スクロールの量に応じてCSSのposition fixedを付け外しするような事をやっていましたが、position stickyを利用すると簡単に実装することが出来ます。 こちらにPosition Stickyのデモを作成しました。 メディアなどでよく見かけるような、スクロールしてもサイドバーが固定表示されるUIです。 position stickyとはMDN Web Docs によると、下記のように説明されています。 包含ブロックがフロールート (又はその中でスクロールするコンテナー) 内の指定されたしきい値 (例えば top に設定された auto 以外の値など) を達するまでは相対的な配置として扱われ、包含ブロックの反対の端が来るまでその位置に「粘着」するものとして扱
このページを最初にブックマークしてみませんか?
『blog.hiroyuki90.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く