くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見のメモ

Laravel

LaravelでPhpDebugBar is not defined

異動でLaravelで開発している別部署に来ていろいろ環境設定して自分の環境でLaravel動かしてみたら、内部のjsがほとんど動かない。コンソール見てみたら、PhpDebugBar is not definedって出てて、それ以降のjsが止まっている状況だった。いろいろ調べて php …

Laravelでメール送ろうとしたら [Swift_RfcComplianceException] Address in mailbox given [] does not comply with RFC 2822, 3.6.2.

タイトル通りLaravelでメールを送ろうとしたら [Swift_RfcComplianceException] Address in mailbox given [] does not comply with RFC 2822, 3.6.2.って出て、なんだっけ。ってなったけど、どうやらSwift_Mailerがメール送信前にRFCチェックをするらしくて…

Laravelでログローテートするとcronでartisanバッチを実行できなかった話

Laravelでログローテートすると、ログファイルが 644のapche:apacheで作成されてしまうのでcrontabでartisanバッチを実行するとPermission denied. で実行できないことありました。この対策として、当初artisanバッチをrootで実行することで解決していました…

Laravel5で'Class 'TCPDF' not found'

タイトル通り普通に開発してたら'Class 'TCPDF' not found'って出て、なんぞ?ってなった。そもそもTCPDFとは? TCPDFに関するリファレンス・ドキュメント TCPDFは、PHP用のライブラリで、PDFファイルを動的に作成するためのライブラリ(クラス)です。 ほう、…

exception 'ErrorException' with message 'Object of class Illuminate\Mail\Message could not be converted to string'

久々にLaravelの初歩的なエラーにハマったので共有実行して、失敗したらerrorメッセージをメールで返すバッチを作っていて、エラー時に本当はメールが送られてくるはずが exception 'ErrorException' with message 'Object of class Illuminate\Mail\Message…

LaravelでPredis\Connection\ConnectionException' with message 'Connection refused [tcp://127.0.0.1:6379]'

新しいVMで既存のLaravelのプロジェクト持ってきて、とりあえずartisan動かそうとしたらPredis\Connection\ConnectionException' with message 'Connection refused [tcp://127.0.0.1:6379]'って出たので調べたら、そもそもredis動いてなかった。でredis起動…

Laravelを新しいVMにpullしてきてartisanコマンドを叩いたらError in exception handler.

タイトル通り、新しいVMに既存のプロジェクトをpullしてきてcomposer updateとかしてたらなんかartisan周りでエラー。 エラー文言はError in exception handler.のみ。ワケ分からんと思って色々調べてたら、ドキュメントに 最初にComposerを使用し、Laravel…

Laravel4.2でunserialize(): Error at offset 12288 of 12288 bytes

タイトル通り、急にlaravel4.2で unserialize(): Error at offset 12288 of 12288 bytes だったり file_put_contents(): Only 0 of 413 bytes written, possibly out of free disk spaceみたいなエラーが出て、なんか容量が関係してそうなのは分かるけど、ど…

LaravelのEloquentでレコードの存在チェック

LaravelのEloquentで任意のレコードが存在するかだけのチェックをしたい場合、 Eloquentを継承したクラスで $this->where('user_id', 1234)->exists(); とすればuser_idが1234のレコードが存在するかだけを迅速にチェックできる。Illuminate\Database\Query\…

テーブルの全データを書き換えるバッチを作ったら先輩に言われたこと

テーブル全体を書き換えるようなartisanバッチを作って先輩にレビューをお願いしたら返ってきた内容がなるほどなぁと思ったのでメモがてらにシェア。 ビジネスロジックとは全く関係がないけど、後学のために何点か 1. 本番のデータ操作をするようなパッチ(…

Laravel4でartisan実行したらError in exception handler.って出た。

Laravel4でartisan実行したらError in exception handler.って出た。 ので調べたら英語だけど答えあった。 [SOLVED] need help with the error [Error in exception handler.] - Laravel.IO - The Official Laravel PHP Framework Community Portal英語めん…

LaravelのPagenate()で取得したオブジェクトの値にアクセスする方法

LaravelのPagenate()で取得したオブジェクトの値にアクセスする方法 について調べたのでメモ。例えばユーザーモデルからpagenate()メソッドを使ってユーザーのリストを取得して取得した件数を見たい場合、 $user_list = $this->userModel->pagenate(20, $sel…

Laravelで503メンテナンス中画面を出す方法

記事更新久しぶりな気がする。 最近sitemap.xmlをウェブマスターツールに登録したら、検索流入が30%ほど増えてちょっと嬉しいです笑 ところで、 Laravelで503のメンテナンス画面ってどうやってだすんだろう と思って調べてたら方法が分かったのでメモがてら…

【Laravel】リレーションで別テーブルを挟む場合

Laravelのリレーションでテーブルを挟んで紐づけたい場合の書き方 タイトルの通り、リレーション(hasManyとか)でテーブルを挟んだ先のテーブルも紐づけたい時にどうすんの?ってなりました。 文章だけだと分かりづらいですが、 記事 ▶︎ コメント ▶︎ コメント…

【Laravel】レコードがあったらUpdate、無ければInsertする方法

LaravelでレコードがあったらUpdate,無ければInsertする方法を思いついたのでメモ。 $member = Member::firstOrNew(['member_id' => 00001]); $member->name = '太郎'; $member->save();firstOrNew()はレコードがあれば取ってきて、無ければnewしてくれるの…

【未解決】LaravelのEloquentでhasManyを使おうとしたらCall to undefined method Illuminate\Database\Query\Builder::hogehoge()

タイトル通り、LaravelのEloquentでhasManyを使おうとしたらCall to undefined method Illuminate\Database\Query\Builder::hogehoge()が出てよくわからなかったけど、一応解決したので、シェア。そもそもなぜhasManyとかを使おうかと思ったか言うと、 ソフ…

LaravelでPostgreSQLの配列型カラムに対してwhereを使う

LaravelでPostgreSQLの配列型のカラムに対してwhereを使うには $sql->where('カラム名', '>=', '{' . $hoge . '}')的な書き方が必要。 (・$hogeは配列ではなく普通のstring型など。 ・包含しているものを出したいときは'>=',完全一致の場合'=')他にもっとい…

LaravelでtoArray()を使うとTrailing dataが出る

Laravelでsqlから吐き出されたやたら長いオブジェクトをきれいな連想配列にしてくれるtoArrayメソッドですが、たまにTrailing dataというエラーが出ます。 これ、なんなのかなーと思っていたらsql文でselectしたカラムの中に小数点以下の秒数を持つtimestamp…

LaravelでJOIN ON を使う

hogeテーブルのレコードに対して、pageテーブルのレコードを削除フラグ is_deleted = 0 だったら 結合したい場合、Laravelでは $sql->leftjoin('page', function($join){ $join->on('page.hoge_id', '=', 'hoge.hoge_id') ->where('page.is_deleted', '=', 0…

【Laravel】orderByでnullを最後に持ってくる

Laravel使ってて、orderByしたら、nullを持ってるデータが最初に来て鬱陶しかったので方法ないかと探すこと2時間。 $sql = $sql->orderByRaw(DB::raw($column.' '.$sort.' NULLS LAST')); ちなみにDBはPostgreSQLなので他のSQLでは他の方法が有ると思われま…

Laravelでグローバル変数の定義

どこでやっているのかと思ったら /app/config/const.php に定義できるんですね。知らんかった。他人のコード読むって大切。

【Laravel】Laravelで型の違う値でテーブルをjoinする方法 ('SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist)

Laravelで型の違う値でテーブルをjoinする方法 laravel4でテーブルをjoinしたらタイトルのようなエラーが。 production.ERROR: exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[42883]: Undefined function: 7 ERROR: operator does…

Laravelでテーブルをjoinで結合してテーブル間でカラム名が被ったときの対処法

Laravelでテーブルをjoinで結合してテーブル間でカラム名が被ったときの対処法 usersテーブル id, name, class_idclassesテーブル id, nameというカラムを持っていたとすると、 $users = DB::table(‘users') ->select(‘users.id', ‘users.name', ‘classes.na…

【twig】twigでvar_dump()する方法

twigを使っていて、var_dumpしたいけど、できん!ってなって調べたのでシェアtwigでvar_dumpと同じことをするには、設定ファイルを書き換える必要があります。 設定ファイルはLaravelなら/app/config/packages/rcrowe/twigbridge/config.php になります。他…

Laravelでテーブルをjoinで結合してテーブル間でカラム名が被ったときの対処法

Laravelでテーブルをjoinで結合してテーブル間でカラム名が被ったときの対処法 usersテーブル id, name, class_idclassesテーブル id, name各テーブルが上のようなカラムを持っていたとすると、 $users = DB::table(‘users') ->select(‘users.id', ‘users.na…

Laravel4でSQLのLIKEの使い方

Laravel4のクエリービルダーでLIKE句を使おうと思って ->... ->like('name', '%あああ%') ->get(); みたいな使いかたしたけど通用しなくて、どうやって表現するんだろうかと思って調べたら ->... ->where('name', 'LIKE', '%あああ%') ->get(); でとれました…

Laravelのcacheを全削除する方法

全削除するには php artisan cache:clear で全部消えました

【Laravel】Laravelのformヘルパーでnameとvalue以外の要素を指定する方法。【フォームヘルパー】

Laravelのformヘルパーでnameとvalue以外の要素を指定する方法。 formヘルパーでclassとか、required指定したい時どうすんの?って思ったけど調べてもなかなか出てこなかったので。 ちなみに⬇️が日本語ドキュメント的なやつの記述(http://laravel4.kore1serv…

エラーメッセージへのアクセスの仕方【Laravel】

Laravelでバリデーションチェックして、エラーメッセージを取得したいというときに帰ってきた変数の中身をvar_dumpしたらobject(Illuminate\Support\MessageBag)#116 (2) { ["messages":protected]=> array(3) { ["name"]=> array(1) { [0]=> string(25) "na…

【Laravel】Laravel+twigのフォームヘルパーで苦労した話

Laravel+twigのフォームヘルパーで苦労した話 最初 {{ Form::open(‘url’ => ‘hoge’) }} でいけるだろwUnexpected token "punctuation" of value ":" ("end of print statement" expected) in "inquiry" at line 2( ´_ゝ`)ふむ{{ form_open([‘url’ => 'hogs…