requireなしでクラスをuseできるようにする
autoloadはファイルを自動で読み込む仕組みのことで、requireなしでuse演算子を定義するだけでPHPのクラスを使えるようにする機能。Composerがインストールされていることを確認するrequire文の代わりにComposerのオートロード機能を使用します。...
View ArticleLaravelをバージョンアップしたらログインできなくなった
Laravel5.4から5.8へバージョンアップしたとき、APIログイン機能が動作しなくなりました。バージョンアップに際して認証周りのコードを修正した覚えはなく、文字通り "なにもしてないのに動かない"...
View Article【Laravel5.8】Eagerロード先テーブルは必ず主キーもSELECTしないといけない
テーブルBと、B.idにリレーションを張ってるテーブルAがあったとします。モデルは普通。モデル// モデルAclassTableAextendsModel{// テーブル名protected$table='table_a';/** * リレーション * @return BelongsTo...
View Article【Laravel5.8】複数のデータベースに接続するときは全てのモデルに`$connection`を書こう
先日のEagerロード先テーブルは必ず主キーもSELECTしないといけないって記事を見るとわかりますが、Eagerロードでは複数テーブルを結合するのにJOINを使わず、データを別々に取ってきて後から合体させています。つまり、これは異なるデータベースのテーブルに疑似リレーションを張れるのでは?テーブルAclassTableAextendsModel{//...
View ArticlelaravelEloquentでMySQLのJSON型は配列として扱いたい
環境laravel 5.8 MYSQL 5.7.26問題JSON型にjsonをそのままインサート出来ない json_encodeしたデータを入れようとするとstringとして入るjsonのまま使わないことの方が多いので、取得したデータをjson_dencodeなど加工したくない解決Eloquentモデルの $castsでインサートしたいカラムに...
View ArticleLaravelでtextareaのmaxlengthと、ValidationRuleのmaxが改行によって判定ずれする
何が起こったか例えば maxlength=10のtextareaがあったとして、このような入力をする。1[改行] 2[改行] 3[改行] 4[改行] 5[改行] form.html<html> (省略) <textareaname="body_text"maxlength="10"></textarea> (省略)...
View ArticleSQLSTATE[HY000] [1045] Access denied for userの解消
はじめにlaravelの環境を5.6系から6.0系へバージョンアップした途端、 DBにユーザとパスワード、権限を正しく設定しているにもかかわらず、 phpからphp artisan migrateなどを行っても、下記のエラーでmysqlに接続できない人向けの記事です。動作環境-laravel 5.6 → 6.0.4へバージョンアップ -PHP 7.3.12 エラーコード In...
View ArticleMacでLaravel5.8の開発環境を構築しよう(開発)
さて、「MacでLaravel5.8の開発環境を構築しよう」の開発編です。今回はLaravelのアプリを実際に作り、mysqlと紐づけるやり方について解説していこうと思います。まだ、下準備編を見られていない方はそちらから見てください。流れ1.Laravelのアプリを作る 2.mysqlをインストール 3.mysqlのデータベースを作成 4.ユーザーを作成 5.ユーザーの権限を追加...
View Article【laravel】 migrationでindexの削除
削除出来ないusersテーブルのtextカラムにindexを以下のように貼った時、 $table->index('text'); 削除を以下のようにして php artisan migrate:rollbackを実行すると。$table->dropIndex('text'); PDOException::("SQLSTATE[42000]: Syntax error or access...
View Article【laravel】 DBの存在するテーブルとカラムとカラムの型を取得するあとdoctrine/dbalでjson型が扱えない件
環境MySQL 5.7 Laravel 5.8存在するテーブルtableNames = []; foreach (DB::select('SHOW TABLES') as $table) { $dbName = config('database.connections.mysql.database'); $tableNames[] = $table->{'Tables_in_' ....
View Article【Laravel5.8】PHP7.4でTrying to access array offset on valueが山盛り出るようになった
Laravel5.8で試したからLaravel5.8としているだけで、他のバージョンや、あるいは他のフレームワークでも発生すると思います。PHP7.4.0がリリースされました。で、PHP7.4からスカラー型変数に配列アクセスするとE_NOTICEが出るようになりました。$a=null;echo$a[1];これはPHP7.3までは何も言いませんでしたが、7.4ではE_NOTICEが発生します。さらにP...
View ArticlePHP/Laravelでチケット購入サイトのポートフォリオを作ってみた!
http://hidden-bastion-72118.herokuapp.com/?page=1タイトル:渋谷ST劇場チケット販売サイト製作期間:1ヶ月開発環境:AWS Cloud9、PHP 7.2.22、Laravel Framework 5.8.35、Bootstrap v4.3.1、実装した機能
View ArticleLaravel PHP 初心者メモ
public アクセス修飾子どこからでもアクセス可能public function __construct()基本__constructの修飾子は必ずpublicにするなぜ?? privateにするとメソッドを呼び出せなくなるため、インスタンスの生成ができなくなります。private アクセス修飾子同じクラスからのみアクセス可能。非公開のため、継承クラスからもアクセス不可protected...
View Articlelaravel+vue+vuetify設定#1
Laravellaravelは最近6系が主流になってきましたが、一番使われているのは5系だと思います。自分も職場の現場では5.8を使っているため、5.8をインストールしていくことを前提に書いていきます。Installlaravelの正式文書に書いているがおさらいで必要な部分だけ書きます。laravel installer設置composer global require...
View ArticleLaravelでのマイグレーションファイル作成からマイグレーション実行、DBの確認までを行う
今回この記事はLaravelでWEBサービスを開発するにあたって必要になってくる...
View ArticleLaravelのマイグレーション時、a foreign key constraint failsになった時の対処
Laravelのマイグレーション実行時、以下のようなエラーが発生したときの対処。$ php artisan migrate SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint ......
View ArticleLaravelにて「.env.testing」がうまく読み込まれないときの対処法
はじめにマイグレーションファイルを追加して、以下のコマンドを実行したのですが、「Nothing to migrate.」となり、マイグレーションが実行されなかったので、対処法をまとめました$ php artisan migrate --env=testing Nothing to migrate. Laravelのバージョン$ php artisan --version Laravel...
View ArticlePHPUnit8.5と7.5メモ【with laravel 6 & laravel 5.8】
概要同時に使っていたら少しずつ違って混乱したので、メモ環境laravel 6.7.0 / PHPUnit 8.5.0laravel 5.8 / PHPUnit 7.5をそれぞれ使い比べた特定の環境下のみでテストは実行したいsetUpBeforeClassに定義する。実行順からして、setUpBeforeClass内では一手間(後述)加えないとlaravelのヘルパーは使えない。との話でしたが、...
View Articlelaravelをバージョンアップしたらすること
はじめにお久しぶりです。今回はStripeを実装しようとしたところ、バージョンが古いからアップデートしてくれ的なエラーメッセージが出たので、 Laravel5.6から5.8にバージョンをあげたときにやったことをメモ程度に書き残します。以下メモcomposer.jsonを修正 laravel/frameworkを5.7に修正しcompoesr...
View Article