tohokuaikiのチラシの裏

技術的ネタとか。

LaravelのBladeで生のStringをテンプレートとしてParseする

どんな要望やねん…ていうか、こんな感じですね。 laravel.io Controllerの中で、 render(); // $text = 'This is bar.'; 結構この手の質問は見かけられるんだけど、どれも5年以上前ので。 ヘルパ関数ひとつ作れっていう回答 こんな感じ laracasts.com

LaravelでDateをAPIからPATCHする時

JavaScriptのDate objectが飛んでくるので ミューテタを使って attributes['payment_date'] = $value ? Carbon::parse($value) ->timezone(config('app.timezone'))->format('Y-m-d 00:00:00') : null; } ってやっていい感じにしてあげないとダメっぽい。え…

お名前ドットコムの女の子

このバナーをよく見かけるんだけど、 これは、PIXTAのこの素材写真のようだ。 pixta.jp このモデルさんはどういう名前でどういう仕事をしてきたのだろう… Pangaeaさん(No.1112995)のの写真素材 - PIXTAを見ても、あんまり良くわからないんだよな…5万枚近く…

LaravelのEloquentでDBに登録する時にTEXTなフィールドがNULLでINSERTしようとして困ってしまう件

TEXTフィールドにNULLはダメだよってDBから怒られてしまう。 空文字列にしてくれればいいのに… ということで、こんな感じで間に合わせ。 etc)) { $post->etc = ''; } }); } } なんかいい方法ないかな…

Laravelの配列をValidateする時の指定とかエラーメッセージの加工とか

JSONで投げられる値で { address: "Tokyo", entries: [ {name: "", email: ""}, {name: "", email: ""} {name: "", email: ""} ] } みたいなのをValidateしたい時。 単にVlidateすればいい場合 FormRequestのルールに ['required'], ]; } と書いておけばい…

LaravelのRequestを使ったForm ValidateにRequestクラス内共通の処理を使いたかった

つまり、Requestのメソッドを使いたかったんだけど、それはできないみたいなのでクロージャを使った。 [ 'required', $my_validate, こんな感じ。 requiredを満たした時、この$my…

LaravelでPolicyを追加する時に、ModelがInjectionしてくれなくて困った件

この辺りを読んでて… readouble.com route/api.phpに name('user.create.confirm')->middleware('can:confirm,App\User'); Route::post('user/{user}/confirm', 'UserController@confirm')->name('user.update.confirm')->middleware('can:confirm,App\User'…

LaravelでSQLログを出力するのをProviderで実装する

以前書いたコレ。 tohokuaiki.hateblo.jp Providerで実装する。 Providerを作る こちらを参考に。 qiita.com app/Providers/DataBaseQueryServiceProvider.php

Laravelの俺メモTIPS

ユーザーのダミーデータ登録 database/seeds/DatabaseSeeder.php に create(); と、config/app.php に 'ja_JP', として、 ./artisan db:seed で10件生成。

LaravelのAuthをAPIで効かす時にいつも忘れるのでデジタルタトゥーに刻みたい

make authしてから $ ./artisan make:auth は、Laravelの古い奴だっけ… じゃなくて $./artisan ui vue --auth してから、 APIでもSessionを効かす app/Http/Kernel に [ // 省略 ], 'api' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Co…

LaravelでAdminlteをjeroennoten/Laravel-AdminLTE使ってちゃんと導入してみる

1年前のこれの続き tohokuaiki.hateblo.jp LaravelプロジェクトをVueベースで管理画面まで よくある感じで。 $ composer create-project laravel/laravel=6.* --prefer-dist junoe_app $ composer require laravel/ui=1.* $ ./artisan ui vue --auth $ ./art…

PhpStromでまたリモートxdebugがつながら無い…と思ったらWindows Defenderの設定のせいだった件

php

PhpStormをアップデートしたらxdebugが~~~~とか思ってダウングレードとかしてたのですが。 結局はWindowsファイアウォールのせいだったという。 対象方法 Windowsキー+Sで「Windows security」と検索。 Windowsセキュリティが起動するので、「ファイア…

Splatoon2の戦績を https://stat.ink に残すまで

サーモンランしかやってないのですが、これが記録を見るのにイカリング2を使っても50個までしか残してくれないので、statを残してくれる以下のサイトを利用した。 Nintendo Switch Online にどうやってアクセスするのか? 以下のPythonスクリプトがある。 …

Deployerを使ってLaravelを本番環境にデプロイする場合のsshの接続設定

開発して、本番環境にDeployのたびにsshログインしてmigrateとかするのが面倒…というか忘れるので、Deployerというのを使った。 インストール composerからインストール LaravelアプリケーションDirectoryでComposerでインストール。 $ php -d memory_limit=…

Laravelで"This action is unauthorized."と出て、Policy設定してるのに…とModelの関係を追ってみた件

あるControllerを継承した別のControllerで authorizeResource(Order::class, 'order'); したら、Policyがスルーされてしまった。 authorizeResource()の引数は何に使われるのか? 第一引数から、Policyが設定される。上の場合だと、OrderPolicyになる。 第…

endroid/qr-codeのSVGでQRコードを作って2つ以上置くと問題が生じる件

Packagistでqrcodeと検索すると一番上に出てくるパッケージがこれ。 SVG出力もしてくれて使いやすいんだけど、SVGのQRコードを2つ以上置くときに問題が発生した。 こんな感じになってしまう。 (左のQRコードの真ん中が黒いのはQRコードを読めないようにした…

HTMLのcanvasで任意の4点をクリックして四角形を描く

なんか、ライブラリであるかな?と思ったけど、意外と書いちゃった方が楽なんじゃないかと思って書いた。 結論から申し上げますと、外積がメッチャ役に立った。 任意の4点から四角形を描く方法 なんかこれどう考えればいいんだろう?って思ったけど、良いの…

Pythonで画像のトリミングをいい感じでやってくれる(CentOS8)

この記事を見てやってみようと思いました。 環境 こんな感じ。 [root@centos8 ~]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) [root@centos8 ~]# which python3.6 /usr/bin/python3.6 [root@centos8 ~]# which pip3.6 /usr/local/bin/pi…

laravel-mixでnpm run watchしたら無限ループに陥ったので対処したこと

何気なくsassを書き直したら、npm run watchしてるのが無限ループしてた… 原因は画像のタイムスタンプ? 原因を探ってみると、 header { background-image: url("../images/icon_header.png"); } が原因っぽい。 試しに、npm run prodしてみると、無事にコン…

Laravelのview(bladeテンプレート)からVue.jsにグローバルパラメータを渡したい時など

最初、 <router-view app_name="{{ config('app.name') }}"></router-view> とかしてたけど、こんなの逐一やってらんねー。 検索したけどあんまり見つからない…ajaxで渡せとかそんな面倒なこと… ということで、「ぼくのかんがえるさいきょうのLaravelからVueへの変数の渡し方」 Laravel 側 Controllerで変数を渡す config('a…

PhpStormでXdebugがつながってるのにブレークポイントで止まってくれない時

./artisan serveだと止まってくれるのにApacheだとブレークポイントで止まってくれないなぜだ!!!??? とずっと思ってました。 色々と困ってる人がいました。 Googleで「file path is not mapped to any file path on server」とか検索すると Debug prob…

MySQLのUNIQUE制約のキー長制限に引っかかった

LaravelのユーザーテーブルのEmailのUNIQUEが掛けられなかった。 Server version: 5.5.65-MariaDB MariaDB Server SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `u…

Vue + Laravelでサブディレクトリに展開する際にやったこと。

Laravel Apacheのhttpd.confにてバーチャルホスト設定にAliasを書く <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName www.example.com DocumentRoot /home/vagrant/htdocs Alias /baccarat_campaign_form "/home/vagrant/laravelapp/public" <Directory "/home/vagrant/laravelapp/public"> Options FollowSy</directory></virtualhost>…

SSOをLaravel+Saml2で行ったところプロキシを挟んだらログインできなくなった。

プロキシだとhttpでアクセスするのでその周りだろうなってことで このあたりでエラーが出ている。 vendor/aacotroneo/laravel-saml2/src/Aacotroneo/Saml2/Http/Controllers/Saml2Controller.php の acs(); の所のエラーが array(2) { ["error"]=> array(1) …

Laravelのファイルアップロードのルートパス

config/filesystems.php に入っているので、 file('foo')->store()する際には、 config('filesystems.disks.public.root'); のpublicが付いてるっぽいので、後で取るといは、 config('fil…

テスト

image/* image/jpeg, image/png image/*" capture accept="image/*" capture="filesystem" accept="image/*" capture="user" accept="image/*" capture="environment"

Laravelのデプロイ

自分用のメモ Laravel自身 composerで関連パッケージをインストール $ composer install autoloadを作成する $ composer dump-autoload .envを作って、migrate $ ./artisan migrate Vue関連のファイルを出力 node_modulesをインストール $ npm install で、…

VueのAjax通信の前後で共通のLoaderを入れる

ajaxの前後でLoading画面を出すやつです。 なんか、スゲー探してようやく見つけた…。 最初、Vuexを使わないようにしてたら全然できなくて、Vuexを使ったら30分でできて時間返してって感じだった。Vuexは恐れずに使え。 main.js import Vue from 'vue'; impor…

Vuejsのコンポーネントを使ってsyncとかデータのやり取り

登録と編集って同じフォームを使いまわすので、Componentにしてあれこれできないかなと思ってたら、意外とデータを親子のVueでやり取りするのが面倒そうで… を参考に。 上記の記事の問題点 なんで、子コンポーネントでまたpropsを定義し直さないと…というの…

axiosでParallel実行する時のエラーハンドリングがよくわからない

axiosで並列して全部終わったら…というやつ。 axios.all([ axios.get('/api/user/'), axios.get('/api/image') ]).then(([res1, res2]) => { this.user = res1.data; this.image = res2.data; }).catch(err =>{ console.log(err); }); ってやると、2つgetし…