どういった時に使うんだよwwwって思いましたが、使う感じになりました。 select * from icons where id in(4, 5, 6) order by field(id, 5, 4, 6) => mysql> select * from icons where id in(4, 5, 6) order by field(id, 5, 4, 6); +----+------------------+-----------------+--------------------+-----------------+---------------------+---------------------+---------------------+ | id | icon_category_id | image_file_name | image_content_type | i
プログラムを学んでいると、色々な耳にしない単語を聞くことも多いです。 シリアライズもその一つ。 今回は、PHPのシリアライズについて以下の内容でお話します。 【基本】シリアライズについて 【実践】シリアライズを行う 【実践】アンシリアライズを行う わかりやすく解説しますので是非ご覧になってください。 シリアライズとは シリアライズとは、配列などをそのまま配列として保存しておきたい場合などに使用します。 また、保存だけではなく送受信にも使えます。 通常、配列をデータベースに保存するとどうなるでしょうか。 試しにデータベースに以下の配列を登録してみてください。 ["samurai1", "samurai2", "samurai3"] そして、再度取得してみます。 結果 'Array("samurai1", "samurai2", "samurai3")' 取り出されたのは文字列です。 シリアラ
はじめに vuejsはとっつきやすく完成度の高いJSフレームワークだと思っていますし、日本語のドキュメントも充実しています、実際に下記の機能も全て公式ドキュメントに記載されている内容です。 しかしながら、実際にやりたいことと機能名の間に乖離があったりして、いざ使用する時に意外に実装方法などを見つけにくい場合も当然ながら存在するため、自分用に Vuejs のちょっと便利なコンポーネントの機能をメモっておきます。 お品書き 共通した親要素を使いまわしたい(スロット配信) パラメーターによって使用するコンポーネントを変えたい(動的コンポーネント) 複数のコンポーネントで、同じ処理を使いまわしたい(ミックスイン) 出力するタグを動的に指定したい 共通した親要素を使いまわしたい いわゆるラッパーコンポーネント、例えば10個のコンポーネントを作る必要があるとして、その全てが共通したヘッダやフッタを持っ
やりたいこと ランダムな文字列を取得したいよ。 PHPの標準関数だけでやりたいよ。 暗号学的に安全なランダム性を持たせたいよ。 出力で使用する文字や文字長を指定したいよ。(0~fだけとかヤダよ) PHP5系では動かせなくてもいいよ。 暗号学的に安全じゃない方法とは? 「ランダムな文字列をゲットしたいな」というとき、よく以下のようなコードが使われるかと思います。 echo sha1(uniqid(mt_rand(), true)); // 出力例 : f282fe197b5f9837a520118d5636facc0ff3832d 実はこれだと問題があって(まぁ実際はほぼ問題になることは無いと思いますが…)、「mt_rand()」も「uniqid()」も生成される値が暗号学的に安全ではないとリファレンスに明記されています。 PHPマニュアル - 関数リファレンス mt_rand() uniq
はじめに プログラミングは「習うより慣れろ」ということで、アプリケーションの基本のCRUDをLaravelでやってみた。 ※ 書いているのは生意気にもLaravel歴一週間程度の初心者です。 MVCアーキテクチャのフレームワークだと作業手順としては、ものすごくざっくりだと以下のような流れになるんじゃないかと思う。 モデル作成 マイグレーション作成 コントローラー作成 ルーティング作成 ビュー作成 対象となる読者 Laravelの環境構築が一通り終わっていて、とりあえず触ってみようかなって方 見た目とかは一切気にせずとりあえずCRUDだけやってみたい 環境 php 7.1 sqlite laravel 5.6.3 ささっと進めたかったので、sqliteを使います。 準備 プロジェクト名は本当に適当なのでsampleで進めてしまいます。 // laravelコマンドを使える場合は以下 $ la
こんにちは、@yoheiMuneです。 Laravelの論理削除(SoftDelete)で、削除を表現するカラムをdeleted_at以外にする方法を、ブログに書きたいと思います。 なぜ必要か Laravelで論理削除(SoftDelete)を行うことができますが、デフォルトではカラム名はdeleted_atと決まっています。しかし例えば、Cake3で構築したデータベースを使い、サーバーはLaravelに作り変える場合などには、論理削除のカラム名が違う(deletedなど)ことがあります。 そのような場合に、どうやってdeleted_at以外のカラム名を指定するのかについて調べて実装したので、ブログにも残したい次第です。 論理削除で使うカラム名に任意の名前をつける 論理削除用のカラムを指定するためには、DELETED_ATという変数名を利用します。 例えばUserモデルであれば、以下のよう
概要 Laravelでは論理削除を実現するためのSoftDeletesトレイトが用意されています。 論理削除の判定に利用されるdeleted_atカラムを別のカラムに変更するのはクラス定数のDELETED_ATを変更すればできるのですが判定はそのカラムがnullかどうかに限られます。 今回はDBの構造は変更せず、過去の遺産として残っているデリートフラグを使って論理削除を実現する手順を整理していきます。 前提条件 今回対象としているデリートフラグはカラム名をdelete_flagとし、デフォルトが「0」で、論理削除の場合は「1」に設定されるものとして記述していきます。 トレイトの作成 まずはデリートフラグによる論理削除用トレイトDeleteFlagTrait.phpを作成します トレイトの継承 SoftDeletes トレイトに用意されたメソッドを流用したいのでトレイト継承しています。 起動
はじめに LaravelのSoftDeletes、便利なんですが、論理削除されているかの判定に使用するカラムはDateTime型でないといけません。しかし皆さんもおそらく遣る方無い事情により論理削除の判定をフラグ形式(0か1のinteger)で持たなければならないことがあるでしょう。そんなときのためにこれを作りました。 github.com SoftDeletesでboolean形式の削除フラグを使用するためのLaravelプラグインです。 テストもなく作り捨て感満載の退廃的なLaravelプラグインなんですが、せっかくPackagistで公開したし、LaravelのModelに付属するtraitの挙動やグローバルクエリスコープなど学びが多かったので経緯をまとめます。作ったプラグインの使い方が知りたい人はREADME.md見てください。がんばって英語で書きました。 SoftDeletesに
Laravelで、リクエスト(Request)というのは、ブラウザを通してユーザーから送られる情報をすべて含んでいるオブジェクトのことです。例えば、会員登録のフォームなら、画面でユーザーが入力したEメール、パスワード、名前、住所だけでなく、何のブラウザを使用したか(User Agent)、どのIPから送られたか、どのURLからアクセスしたかなど、また、会員ログイン後の画面なら、会員認証において保存されたクッキーもブラウザを介して、リクエストに含まれます。 リクエストの使用 リクエストの代表的な使用は、以下のようにコントローラのメソッドのパラメータです。以下は、Laravelのドキュメントからのコードから引用からですが、会員登録画面でのPOSTされたときにコールされるstoreメソッドです。 namespace App\Http\Controllers; use Illuminate\Htt
Captcha security check edspg.com is for sale Please prove you're not a robot View Price Processing
【Laravel】DB登録で必ずuser_idを入れ、検索は自動でuser_idを含ませる方法 2022 6/05 例えば、データベースに登録する際、どのユーザーが登録したかを記録しておきたい場合、もしくは、登録したユーザーのみ閲覧・編集・削除を可能にしたい場合などには、誰がデータを登録したのかログイン中のuser_idを内容と一緒に保存する必要があります。 しかし、Laravelのマニュアルに従った方法では、毎回登録時にuser_idを挿入する処理を書かなければなりません。 そこで、Laravelのモデルに定義されているイベントとグローバルスコープ(addGlobalScope関数)を使ってこれらを解決していきます。 Traits(トレイト)を作成する トレイトとは、PHP 5.4.0 以降で導入されたコードを再利用するための仕組みです。 ここに登録と検索の際に使用するコードを書いておき
ここではフォロー/フォロワーを実装するために、usersとfollowersの2テーブルを使用しています。 テーブル生成マイグレーション 各テーブルを作成するための、マイグレーションファイル。 <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function($table) { $table->increments('id'); $table->string('nickname', 100)->nullable; $table->string('introduction',
データが多くてリスト全体を一画面に表示できないとき、項目を見るためにいちいち先頭行へ戻って行ったり来たり…。そんなときは、「ウィンドウ枠の固定」で見出しの行と列を固定しましょう。 リストの項目が書かれた行や列の表示を固定したままスクロールすることができます。 見出しの行や列を固定する 行と列を固定するには、まず、固定したい行のすぐ下で、なおかつ、固定したい列のすぐ右にあるセル(ここでは、セルB2)をクリックします。 [表示]タブの「ウィンドウ」から[ウィンドウ枠の固定]をクリックし、「ウィンドウ枠の固定」を選択します。 見出しの行と列は固定されて、シートをスクロールしても常に見出しが表示された状態になります。 見出しの行と列の固定を解除する場合は、[表示]タブから「表示」にある[ウィンドウ枠の固定]の▼をクリック。「ウィンドウ枠固定の解除」を選択します。 長いリストを見るときにはぜひこの機
The problem is that I have this error: [PDOException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'songs' already exists This is my migration file: <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateSongsTable extends Migration { public function up() { Schema::create('songs', function (Blueprint $table) { $table->increments(
JavaScript を勉強することになったのでとりあえず FizzBuzz を書いてみることにしました。 FizzBuzz 関数内において、引数として受け取った値を Number 型から String 型に変換する必要が出てきた際に詰まりました。 そこで、Number 型から String 型への変換方法を調べてみた結果、色々見つかったので残しておくことにしました。 結論を先に書いておく。 Number 型の値をただ文字列に変換したいだけならば、String() で変換するのが一番いいと思う。 String(Number) ただ単純に Number 型のオブジェクト(以下、Number)を String 型のオブジェクトに変換するみたいです。 恐らくこれが最もオーソドックスな方法なのかな?と感じます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く