Laravel
ウェブ職人のためのPHPフレームワーク
本家
https://laravel.com/
git
https://github.com/laravel
動画チュートリアル(英語)
https://laracasts.com/
和訳ドキュメント
http://laravel.jp/
※前スレ
【PHP】Laravel【フレームワーク】 Part.5
https://medaka.5ch.net/test/read.cgi/php/1618535648/
【PHP】Laravel【フレームワーク】 Part.6
■ このスレッドは過去ログ倉庫に格納されています
1nobodyさん
2021/05/25(火) 20:01:01.50ID:E8rm8mmq663nobodyさん
2021/06/18(金) 21:42:50.33ID:??? そんなこと一人しか言ってなかったぞ
665nobodyさん
2021/06/18(金) 21:45:04.79ID:??? Laravelでviewをbladeではなくtwigに変更するライブラリってありますか?
bladeは使っていて違和感を覚えるので変えたいです
bladeは使っていて違和感を覚えるので変えたいです
666nobodyさん
2021/06/18(金) 21:46:18.07ID:??? >>662
違う
バッチ処理が必要なアプリ→モデルでバリデーションがベストプラクティス
バッチ処理が必要ないアプリ→FormRequestでバリデーションがベストプラクティス
アプリの構成によってベストプラクティスが変わるという結論だよ
違う
バッチ処理が必要なアプリ→モデルでバリデーションがベストプラクティス
バッチ処理が必要ないアプリ→FormRequestでバリデーションがベストプラクティス
アプリの構成によってベストプラクティスが変わるという結論だよ
667nobodyさん
2021/06/18(金) 21:51:41.54ID:??? すみません教えてください laravelでプロジェクトを作成すると
プロジェクト直下にartisanというファイルがありこれを使ってコントローラ生成したりなど色々行うと思います。
本番環境にアプリを配置する場合このartisanというファイルは削除したほうがいいのでしょうか?
WEBブラウザからartisanファイルが実行されて変なことにならないか心配しています
プロジェクト直下にartisanというファイルがありこれを使ってコントローラ生成したりなど色々行うと思います。
本番環境にアプリを配置する場合このartisanというファイルは削除したほうがいいのでしょうか?
WEBブラウザからartisanファイルが実行されて変なことにならないか心配しています
669nobodyさん
2021/06/18(金) 21:56:23.91ID:??? 荒らしはスルーで
670nobodyさん
2021/06/18(金) 21:59:25.19ID:??? すみません。別FWだと本番環境にモードを設定するコマンドが用意されており
そのコマンドを実行すると開発にしか使わないようなライブラリや開発専用コマンドなどのファイルを
自動削除してくれていたので今まで気にしたことはありませんでした。
laravelだとそのようなコマンドがないようだったので本番リリース時にどこまで削除すればいいのか
わからなくなって質問させていただきました。
そのコマンドを実行すると開発にしか使わないようなライブラリや開発専用コマンドなどのファイルを
自動削除してくれていたので今まで気にしたことはありませんでした。
laravelだとそのようなコマンドがないようだったので本番リリース時にどこまで削除すればいいのか
わからなくなって質問させていただきました。
671nobodyさん
2021/06/18(金) 22:03:06.71ID:??? 普通はプロジェクトディレクトリ/publicがドキュメントルートなはずだから実行されないと思うけど
実際WEBサーバの脆弱性ついたらドキュメントルートより上にアクセスして実行できるのかな?
実際WEBサーバの脆弱性ついたらドキュメントルートより上にアクセスして実行できるのかな?
672nobodyさん
2021/06/18(金) 22:08:03.33ID:??? 今開発しているアプリがテストデータ程度だと普通なんだけど本番データに近い件数入れたら
なんか一覧を表示する速度が遅いなって思ってたら数年ぶりにN+1を発生させてしまっていたぜ
N+1なんて回避して当然だから自分やらかしていることに気付かず調べてから判明するまで6時間費やした
なんか一覧を表示する速度が遅いなって思ってたら数年ぶりにN+1を発生させてしまっていたぜ
N+1なんて回避して当然だから自分やらかしていることに気付かず調べてから判明するまで6時間費やした
673nobodyさん
2021/06/18(金) 23:07:00.42ID:??? eloquentのwithを知らない又は使ったことが無い人は案外いるのかな
674nobodyさん
2021/06/19(土) 00:33:52.61ID:??? お前らモハメドの話聞いてないのかよ
675nobodyさん
2021/06/19(土) 01:04:26.68ID:??? LaravelのEloquentにはupdateメソッドとsaveメソッドがありますが
どちらを使うのが一般的なんですか?
どちらを使うのが一般的なんですか?
677nobodyさん
2021/06/19(土) 02:52:09.97ID:??? 基本的にはモデルからfind()なりwhere()->first()なり1件取ってきてからsave()かと
複数行が対象とかで無い限りupdate()使ったりしない気がする
複数行が対象とかで無い限りupdate()使ったりしない気がする
678nobodyさん
2021/06/19(土) 08:34:10.69ID:??? 相変わらず、ワケワカラン実装してんなぁ…。
作ってる奴がアホなんだろうなぁ…。
作ってる奴がアホなんだろうなぁ…。
680nobodyさん
2021/06/19(土) 12:41:17.93ID:??? saveを使う場合は
$user->fill($request->validated())->save()
というような感じで使えばいいですか?
$user->fill($request->validated())->save()
というような感じで使えばいいですか?
681nobodyさん
2021/06/19(土) 13:01:08.11ID:??? 初心者はまずドキュメントか本を読んで基礎を学べ
682nobodyさん
2021/06/19(土) 14:18:24.11ID:??? ずっとjavascriptマンやっていて再びphpに戻ってきたらなんかいろいろ苦しい
683nobodyさん
2021/06/19(土) 15:33:42.74ID:???684nobodyさん
2021/06/19(土) 16:42:53.66ID:??? 釣り針デカすぎ
686nobodyさん
2021/06/19(土) 19:37:14.74ID:??? >あとコントローラー内限定だよね?その書き方
はぁ? 場所によって書き方変わんの?
相変わらず、ワケワカラン実装してんなぁ…。
作ってる奴がアホなんだろうなぁ…。
はぁ? 場所によって書き方変わんの?
相変わらず、ワケワカラン実装してんなぁ…。
作ってる奴がアホなんだろうなぁ…。
688nobodyさん
2021/06/19(土) 20:34:25.83ID:??? >>686
横だけど、requestオブジェクトからバリデートした値だけを受け取っている部分があるから、controller限定かどうか尋ねてるってことでしょ。Laravelのこと知らないなら黙ってたほうがいいよ。どうせお前bigintおじさんでしょ?
横だけど、requestオブジェクトからバリデートした値だけを受け取っている部分があるから、controller限定かどうか尋ねてるってことでしょ。Laravelのこと知らないなら黙ってたほうがいいよ。どうせお前bigintおじさんでしょ?
689nobodyさん
2021/06/19(土) 20:41:20.40ID:??? あえて煽る意味あるの?
690nobodyさん
2021/06/20(日) 02:25:33.79ID:??? Eloquentの更新だったらupdateを使うのが普通でしょ
あえてsaveを使う理由はない
あえてsaveを使う理由はない
691nobodyさん
2021/06/20(日) 03:29:17.83ID:??? >>690
そうなんだよね、結局updateの中身だってfillしてsaveしてるだけだから
あえて->save()分のコード量増やす意味ないと思う
それよりも震えるのはプロパティに値セットしてsaveしてる人ら
そうなんだよね、結局updateの中身だってfillしてsaveしてるだけだから
あえて->save()分のコード量増やす意味ないと思う
それよりも震えるのはプロパティに値セットしてsaveしてる人ら
693nobodyさん
2021/06/20(日) 08:14:01.06ID:??? マスアサインメント知らないアホがなんか言ってるな
694nobodyさん
2021/06/20(日) 08:28:52.53ID:??? このスレ見てるとphp使いとペチパーと揶揄される理由が分かるね
695nobodyさん
2021/06/20(日) 08:43:42.18ID:??? そうか?低レベルなエンジニアはどの言語にも一定いると思うぞ。
696nobodyさん
2021/06/20(日) 09:08:09.75ID:??? >>692
前提としてfillableかguardedをModelに設定してるよね
その値って更新可能なカラム名って感じがするけど
そうじゃなくてcreateとかupdateとかfillの引数で入力される連想配列が保存可能なカラムを定義してるのよ
なのでfillとかを使わないでセットした値はその影響を受けないのね
例えば更新なんかしちゃダメなprimaryKeyの値とかも変更可能なの
$user->id = 10 ;
$user->save();
ここまで書いたら分かると思うけど
こういう実装方法って重大なセキュリティホールの要因になりえるので
気を付けようねって意味を含めて「震える」って書いたの
別に俺はプロパティでセットしてsave呼び出してるからと言って頭おかしいとは思わんよ
上に書いた理由を知らなかったってだけだと思うし
実際、俺も使い始めの時プロパティにセットする実装してたから
こういった理由を知った上でそれでもプロパティで実装する方法を選択してるなら頭おかしいって思っちゃうかな
前提としてfillableかguardedをModelに設定してるよね
その値って更新可能なカラム名って感じがするけど
そうじゃなくてcreateとかupdateとかfillの引数で入力される連想配列が保存可能なカラムを定義してるのよ
なのでfillとかを使わないでセットした値はその影響を受けないのね
例えば更新なんかしちゃダメなprimaryKeyの値とかも変更可能なの
$user->id = 10 ;
$user->save();
ここまで書いたら分かると思うけど
こういう実装方法って重大なセキュリティホールの要因になりえるので
気を付けようねって意味を含めて「震える」って書いたの
別に俺はプロパティでセットしてsave呼び出してるからと言って頭おかしいとは思わんよ
上に書いた理由を知らなかったってだけだと思うし
実際、俺も使い始めの時プロパティにセットする実装してたから
こういった理由を知った上でそれでもプロパティで実装する方法を選択してるなら頭おかしいって思っちゃうかな
697nobodyさん
2021/06/20(日) 09:22:08.01ID:??? え、
$user->id = 10 ;
なんて誰が書くの?君の同僚?
$user->id = 10 ;
なんて誰が書くの?君の同僚?
698nobodyさん
2021/06/20(日) 09:56:24.11ID:??? >>697
申し訳ない、俺の例がわかりにくかったみたいだね
こんな例が考えられるけどどうかな?
たとえば悪意のあるユーザーがリクエストでis_adminパラメータを送信して
そのパラメーターがモデルのcreateメソッドに渡されてユーザーが自分自身を管理者に格上げする
みたいなケースが考えられるでしょ?
あと、少し慣れてくるとプロパティにセットする事が手間になってきて
foreachで回して値をセットしたりしがち
そうなると完全にやばいよね
申し訳ない、俺の例がわかりにくかったみたいだね
こんな例が考えられるけどどうかな?
たとえば悪意のあるユーザーがリクエストでis_adminパラメータを送信して
そのパラメーターがモデルのcreateメソッドに渡されてユーザーが自分自身を管理者に格上げする
みたいなケースが考えられるでしょ?
あと、少し慣れてくるとプロパティにセットする事が手間になってきて
foreachで回して値をセットしたりしがち
そうなると完全にやばいよね
699nobodyさん
2021/06/20(日) 10:23:31.57ID:??? > foreachで回して値をセットしたりしがち
すまん、俺はそんな場面に出くわしたことないが、君の職場ではしがちなのかい?
すまん、俺はそんな場面に出くわしたことないが、君の職場ではしがちなのかい?
700nobodyさん
2021/06/20(日) 10:25:45.61ID:??? Eloquent式は受け取ったリクエストのタイプによって保存する内容が大幅に違う場合とかには重宝するけどね
702nobodyさん
2021/06/20(日) 10:30:07.55ID:??? idって基本的にauto_increment入れる為のものだから
$user = User::find($request['id']);
とはやっても
$user->idの値を書き換えるとかちょっとあり得ん
$user = User::find($request['id']);
とはやっても
$user->idの値を書き換えるとかちょっとあり得ん
703nobodyさん
2021/06/20(日) 10:49:54.07ID:??? だからそれは例だっつーの
アホなの?
アホなの?
704nobodyさん
2021/06/20(日) 10:51:16.05ID:??? fill厨はどんな場合でも使ってそうw
705nobodyさん
2021/06/20(日) 11:14:16.81ID:??? 例にある意味予約語みたいなワードを書くとか根本的に常識がない
706nobodyさん
2021/06/20(日) 11:22:09.98ID:??? >>705
予約語ってis_adminの事言ってるよね
https://readouble.com/laravel/8.x/en/eloquent.html#mass-assignment
https://readouble.com/laravel/8.x/jp/eloquent.html#mass-assignment
ここ読んでみたらわかると思う、君が書き込みをするべきなのは
https://github.com/laravel/framework/issues
こっちだと思うよ
予約語ってis_adminの事言ってるよね
https://readouble.com/laravel/8.x/en/eloquent.html#mass-assignment
https://readouble.com/laravel/8.x/jp/eloquent.html#mass-assignment
ここ読んでみたらわかると思う、君が書き込みをするべきなのは
https://github.com/laravel/framework/issues
こっちだと思うよ
707nobodyさん
2021/06/20(日) 11:24:44.54ID:???708nobodyさん
2021/06/20(日) 11:58:24.08ID:??? おまえらっていつもマウントの取り合いしてるな
709nobodyさん
2021/06/20(日) 12:09:40.58ID:??? 例だからとかいって言い訳しているけど
idって基本的にauto_increment入れる為のものだから
$user = User::find($request['id']);
とはやっても
$user->idの値を書き換えるとかちょっとあり得ん
idって基本的にauto_increment入れる為のものだから
$user = User::find($request['id']);
とはやっても
$user->idの値を書き換えるとかちょっとあり得ん
710nobodyさん
2021/06/20(日) 12:12:46.30ID:??? しつこい
アホだ
アホは書き込み禁止
アホだ
アホは書き込み禁止
711nobodyさん
2021/06/20(日) 12:26:55.34ID:??? >>704
どんな時でも使うべきだぞ。じゃないとリクエストからモデルに渡してよいフィールドが、コントローラー側で決定されるメソッドが生まれてしまうぞ。
どんな時でも使うべきだぞ。じゃないとリクエストからモデルに渡してよいフィールドが、コントローラー側で決定されるメソッドが生まれてしまうぞ。
712nobodyさん
2021/06/20(日) 12:41:55.52ID:??? fillを必ず使え代入は危ないって言ってる人は、fillableじゃない値をどうやって入れるの?
713nobodyさん
2021/06/20(日) 12:44:44.49ID:??? このスレ見てるとレベル低い奴が何故か威張っていて、これが今の日本のIT技術が低い理由、そして国が衰えてる理由に繋がってる気がする。
要は反知性主義なんだよね。真面目に科学的に考える奴のことを軽視している。
これって地動説否定とかトランプ支持者など外国でも見られた傾向だけど、日本は特にひどいね。教育が悪いんだろうか。
要は反知性主義なんだよね。真面目に科学的に考える奴のことを軽視している。
これって地動説否定とかトランプ支持者など外国でも見られた傾向だけど、日本は特にひどいね。教育が悪いんだろうか。
714nobodyさん
2021/06/20(日) 12:57:28.34ID:??? IDのないスレをいつまで本スレとして使うつもりなのか?
719nobodyさん
2021/06/20(日) 13:57:05.67ID:??? >>718
できない訳ないじゃない
自分が知らないから無いだろうって決めつけると恥晒すよ
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Model.html#method_forceFill
できない訳ないじゃない
自分が知らないから無いだろうって決めつけると恥晒すよ
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Model.html#method_forceFill
721nobodyさん
2021/06/20(日) 14:12:25.97ID:???722nobodyさん
2021/06/20(日) 14:20:38.12ID:??? 逆にコントローラーでfillableじゃない値をセットしている奴は、コントローラーの責務をどう規定しているのか詳しく聞いてみたい。
723nobodyさん
2021/06/20(日) 14:24:09.06ID:??? >>720
質問しといて申し訳ないけど
俺もfill使ってない事思い出したわ、すまんな
プロパティに入れてfillableガン無視で最後saveしてる人だったって事にしといてください
ここで言い争いしてコスト使うのが1番頭おかしいってふと気付いたわ
質問しといて申し訳ないけど
俺もfill使ってない事思い出したわ、すまんな
プロパティに入れてfillableガン無視で最後saveしてる人だったって事にしといてください
ここで言い争いしてコスト使うのが1番頭おかしいってふと気付いたわ
724nobodyさん
2021/06/20(日) 14:35:38.78ID:??? laravelはなんでN+1問題が発生するんですか?
N+1って有名な問題だからFW設計時にそれを強制的にFW側で回避するようにできなかったのかな
いまだとwithとか明示的に使わないと回避できないよね?
N+1って有名な問題だからFW設計時にそれを強制的にFW側で回避するようにできなかったのかな
いまだとwithとか明示的に使わないと回避できないよね?
725nobodyさん
2021/06/20(日) 14:39:23.50ID:??? N+1問題を回避できるFWなんてないし、理論上つくれない
726718
2021/06/20(日) 14:43:21.94ID:fbme7EFA729nobodyさん
2021/06/20(日) 14:46:07.26ID:???730nobodyさん
2021/06/20(日) 14:47:57.78ID:??? N+1をFW側で回避することは非常に難しいですよ
その実装をできた人は世界中で表彰されるだろうと言われるぐらい難しいことなんです
その実装をできた人は世界中で表彰されるだろうと言われるぐらい難しいことなんです
731718
2021/06/20(日) 14:58:11.63ID:fbme7EFA >>729
なるほど、>>723さんと同じ人か分からないですがありがとうございます。
例えばですが
$user->password = $hashedPassword;
$user->last_password_changed = $now;
$user->fill(request()->all())->save();
こんなコードを書きたい時は
$user->fill(request()->all());
->forcefill([
'password' => $hashedPassword,
'last_password_changed' => $now
]);
->save();
こうしたほうが良いってことですよね?
必ず fill を通す必要がある理由が前述の
「例えば更新なんかしちゃダメなprimaryKeyの値とかも変更可能なの」
「こういう実装方法って重大なセキュリティホールの要因になりえるので」
という理由だと思ってたんですが、forceFill 使っちゃうと id とか変更しちゃダメな値を更新しかねないという点でやはり一緒ではないですか?
この理由だと forceFill も使うべきではないと思ったんですが、実は forceFill を使うとこの問題を克服できるのでしょうか?
なるほど、>>723さんと同じ人か分からないですがありがとうございます。
例えばですが
$user->password = $hashedPassword;
$user->last_password_changed = $now;
$user->fill(request()->all())->save();
こんなコードを書きたい時は
$user->fill(request()->all());
->forcefill([
'password' => $hashedPassword,
'last_password_changed' => $now
]);
->save();
こうしたほうが良いってことですよね?
必ず fill を通す必要がある理由が前述の
「例えば更新なんかしちゃダメなprimaryKeyの値とかも変更可能なの」
「こういう実装方法って重大なセキュリティホールの要因になりえるので」
という理由だと思ってたんですが、forceFill 使っちゃうと id とか変更しちゃダメな値を更新しかねないという点でやはり一緒ではないですか?
この理由だと forceFill も使うべきではないと思ったんですが、実は forceFill を使うとこの問題を克服できるのでしょうか?
732nobodyさん
2021/06/20(日) 15:56:55.52ID:??? シーダーにforceFill使うならわかるけど
他の用途では使わないほうがいい気がする
laravelは入門程度だから実際に業務で使っている人の意見聞きたいな
他の用途では使わないほうがいい気がする
laravelは入門程度だから実際に業務で使っている人の意見聞きたいな
733nobodyさん
2021/06/20(日) 16:03:57.30ID:??? >>731
理解する気が無い人なのかと思ったので諦めてしまいました、ごめんなさい
パスワードとかfillableに含めない項目って基本的に含めない方がいい理由があると思うんですね
その「含めない方がいい理由」ってのは独立した機能として切り出して通常の流れから切り離す必要があると思うんです
特にパスワードに関しては更新後にメール送ったり仮パスワード発行するとか周辺機能も多くなりがちなので
機能として切り出してコントローラではない所で更新した方が良いと考えています
書いていただいた処理の流れでパスワードを更新するのであれば
fillableに含めない事で得られる効果(複数代入で更新されない)の意味がなくなってしまっているように感じます
forceFillで更新したら一緒だよねって問題に関してはご指摘の通り一緒です
ですが、機能として切り出されていればテスト時に更新すべきでない項目を更新していることを見つけることができますし
責任範囲が明確になってメンテナンスコストが抑えられると考えています
例えばlaravelのパスワード更新はこの様にforceFillで更新しています
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Auth/SessionGuard.php#L662
こちらはメール認証でemail_verified_atカラムを更新しています
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Auth/MustVerifyEmail.php#L24
理解する気が無い人なのかと思ったので諦めてしまいました、ごめんなさい
パスワードとかfillableに含めない項目って基本的に含めない方がいい理由があると思うんですね
その「含めない方がいい理由」ってのは独立した機能として切り出して通常の流れから切り離す必要があると思うんです
特にパスワードに関しては更新後にメール送ったり仮パスワード発行するとか周辺機能も多くなりがちなので
機能として切り出してコントローラではない所で更新した方が良いと考えています
書いていただいた処理の流れでパスワードを更新するのであれば
fillableに含めない事で得られる効果(複数代入で更新されない)の意味がなくなってしまっているように感じます
forceFillで更新したら一緒だよねって問題に関してはご指摘の通り一緒です
ですが、機能として切り出されていればテスト時に更新すべきでない項目を更新していることを見つけることができますし
責任範囲が明確になってメンテナンスコストが抑えられると考えています
例えばlaravelのパスワード更新はこの様にforceFillで更新しています
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Auth/SessionGuard.php#L662
こちらはメール認証でemail_verified_atカラムを更新しています
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Auth/MustVerifyEmail.php#L24
734nobodyさん
2021/06/20(日) 16:20:43.33ID:???735nobodyさん
2021/06/20(日) 17:43:02.03ID:??? N+1問題、Laravel8の最新バージョンだと回避できるようになってる。N+1になる処理を実行しようとすると例外を発生させられるようになった。
736nobodyさん
2021/06/20(日) 19:14:58.36ID:??? お前ら、マジで何やってんの?
738nobodyさん
2021/06/20(日) 19:34:42.48ID:??? >>737
マニュアルにはないかもしれないけど
この辺じゃないかな?
https://twitter.com/taylorotwell/status/1395087054254526474?s=21
https://github.com/laravel/framework/pull/37363
https://twitter.com/5chan_nel (5ch newer account)
マニュアルにはないかもしれないけど
この辺じゃないかな?
https://twitter.com/taylorotwell/status/1395087054254526474?s=21
https://github.com/laravel/framework/pull/37363
https://twitter.com/5chan_nel (5ch newer account)
739nobodyさん
2021/06/20(日) 19:46:37.88ID:??? >>737
すでに上で出てるけど、こっちの方が分かりやすいかな。
https://laravel-news.com/disable-eloquent-lazy-loading-during-development
すでに上で出てるけど、こっちの方が分かりやすいかな。
https://laravel-news.com/disable-eloquent-lazy-loading-during-development
740nobodyさん
2021/06/20(日) 19:47:49.94ID:???742nobodyさん
2021/06/20(日) 21:42:57.75ID:??? 俺はまだ論破されていない >>738-740はN+1の回避策を提示しただけであって
FW側で回避できるという証明にはならない
FW側で回避できるという証明にはならない
743nobodyさん
2021/06/20(日) 21:52:49.79ID:??? ちょっと言っている意味がわからないです
744nobodyさん
2021/06/20(日) 21:53:07.92ID:??? >>598
いや、別に論破とかどうでも良いんだが。N+1の実装したら例外出て便利になったっていう情報知らないぽいから教えてあげたかっただけ。
あとFW側で回避したいなら、modelのwithプロパティ使っとけば確実だと思うけどね。ただこれ使うと余計なテーブルアクセス増えてしまいがちだから、不要な時はwithoutとかのメソッド入れなきゃダメで、それはそれでだるい。
いや、別に論破とかどうでも良いんだが。N+1の実装したら例外出て便利になったっていう情報知らないぽいから教えてあげたかっただけ。
あとFW側で回避したいなら、modelのwithプロパティ使っとけば確実だと思うけどね。ただこれ使うと余計なテーブルアクセス増えてしまいがちだから、不要な時はwithoutとかのメソッド入れなきゃダメで、それはそれでだるい。
745nobodyさん
2021/06/21(月) 00:54:44.77ID:???746nobodyさん
2021/06/21(月) 09:50:26.59ID:??? N+1問題とか、何やってんだろうなぁって思ったら
エロなんたらがActiveRecord型だからっつう事か?
アホな事やってんなぁ…。
ActiveRecord型はJOINが表現しずらいから使わんのよね。
無駄な努力をご苦労さん。
エロなんたらがActiveRecord型だからっつう事か?
アホな事やってんなぁ…。
ActiveRecord型はJOINが表現しずらいから使わんのよね。
無駄な努力をご苦労さん。
747nobodyさん
2021/06/21(月) 10:19:15.52ID:??? 近頃のFWはだいたいがActiveRecord型だし、特に無駄な努力なんてしてないけどな?DataMapper型しか使ったことないアンチオートインクリメントおじさんは、いつまでLaravelスレで粘着するのかね?
748nobodyさん
2021/06/21(月) 10:48:42.22ID:??? ActiveRecord型は表現が冗長でミスを誘引しやすい
特に初心者にとっては記述する動機になりづらく成長の阻害要因
JOINで書くよりN+1で書いたほうが表現がスマートなのが問題なんだよ
特に初心者にとっては記述する動機になりづらく成長の阻害要因
JOINで書くよりN+1で書いたほうが表現がスマートなのが問題なんだよ
749nobodyさん
2021/06/21(月) 10:50:58.39ID:??? Laravel以前はCakeしか使ったことないからN+1なんて知らんかったわ
ここ数日初めてこのスレで勉強になった
ここ数日初めてこのスレで勉強になった
750nobodyさん
2021/06/21(月) 11:28:23.03ID:??? JOINで書くってDBファサードからjsonメソッド使って書くって事?
生のSQLでjson使って書くって事?
生のSQLでjson使って書くって事?
751nobodyさん
2021/06/21(月) 11:30:35.35ID:??? ベテランRailsエンジニアたちがN+1でハマってるのみて何をもがいているのか不明だった
そしたらLaravelでもハマる奴らも続出していたんだな
そしたらLaravelでもハマる奴らも続出していたんだな
752nobodyさん
2021/06/21(月) 11:35:51.07ID:??? いや、ベテランはハマらないぞ。さすがに。DBアクセスのロジック書いたら、普通に生成されるSQL確認するから、そこで気づく。
753nobodyさん
2021/06/21(月) 11:37:18.75ID:??? あとjoinガーて言ってる人、雑魚はinner joinとouter joinを使い分けられないという点に気づいていないと思う。
754nobodyさん
2021/06/21(月) 12:33:16.81ID:??? 生SQLとかDBの仕組み的なことを知らないとハマるんだろうね
たしかにFWがうまくやってくれるもんだと思ってたらそこまで考えない
SQLを作るための仕組みっていうのを知ってたら中間出力であるSQLはどうなってるのか気になるんだろうけど
意識しなくて済むような仕組みだからね
たしかにFWがうまくやってくれるもんだと思ってたらそこまで考えない
SQLを作るための仕組みっていうのを知ってたら中間出力であるSQLはどうなってるのか気になるんだろうけど
意識しなくて済むような仕組みだからね
755nobodyさん
2021/06/21(月) 14:13:34.84ID:??? >>750
DataMapper型でクエリビルディングして書くって事
正直、Railsで失敗してんのに敢えてActiveRecord型を選ぶとか、頭おかしいとしか思えん。
だからプライマリキーはidのオートインクリメントです、
復号プライマリキーは設定できません、みたいなトチ狂った設計になっちゃうんだよ。
10年以上、全く成長しないよな世間の奴らって。
DataMapper型でクエリビルディングして書くって事
正直、Railsで失敗してんのに敢えてActiveRecord型を選ぶとか、頭おかしいとしか思えん。
だからプライマリキーはidのオートインクリメントです、
復号プライマリキーは設定できません、みたいなトチ狂った設計になっちゃうんだよ。
10年以上、全く成長しないよな世間の奴らって。
756nobodyさん
2021/06/21(月) 14:14:32.66ID:??? なんだこりゃ? 脳みそ腐ってんじゃね? こいつ
753nobodyさん2021/06/21(月) 11:37:18.75ID:???
あとjoinガーて言ってる人、雑魚はinner joinとouter joinを使い分けられないという点に気づいていないと思う。
753nobodyさん2021/06/21(月) 11:37:18.75ID:???
あとjoinガーて言ってる人、雑魚はinner joinとouter joinを使い分けられないという点に気づいていないと思う。
757nobodyさん
2021/06/21(月) 14:19:54.78ID:??? いや、お前らがActiveRecord型しか知らないんだろwww
DaoもActiveRecordも同じ『JOINがたマトモに表現出来ません』問題で失敗してんのに、
なんで敢えてActiveRecord型選んじゃうっすか?www
学習しましょうよ、せんぱーいw
747nobodyさん2021/06/21(月) 10:19:15.52ID:???
近頃のFWはだいたいがActiveRecord型だし、特に無駄な努力なんてしてないけどな?DataMapper型しか使ったことないアンチオートインクリメントおじさんは、いつまでLaravelスレで粘着するのかね?
DaoもActiveRecordも同じ『JOINがたマトモに表現出来ません』問題で失敗してんのに、
なんで敢えてActiveRecord型選んじゃうっすか?www
学習しましょうよ、せんぱーいw
747nobodyさん2021/06/21(月) 10:19:15.52ID:???
近頃のFWはだいたいがActiveRecord型だし、特に無駄な努力なんてしてないけどな?DataMapper型しか使ったことないアンチオートインクリメントおじさんは、いつまでLaravelスレで粘着するのかね?
758nobodyさん
2021/06/21(月) 14:21:17.36ID:??? アンチオートインクリメントおじさんが荒ぶってらっしゃる
759nobodyさん
2021/06/21(月) 14:21:18.84ID:??? やべぇ、流石に草生えまくり過ぎて、誤字・誤変換だらけになってるし。
760nobodyさん
2021/06/21(月) 14:27:07.58ID:??? アホはトレードオフって言葉を知らないので、ある側面だけをみてActiveRecordは失敗とか言っちゃうんだよなー。
そういえば前に、ActiveRecord自体知らなくて、1テーブル1モデルなんてありえねーとか言ってた恥ずかしい奴がいたな。
そういえば前に、ActiveRecord自体知らなくて、1テーブル1モデルなんてありえねーとか言ってた恥ずかしい奴がいたな。
761nobodyさん
2021/06/21(月) 14:32:26.85ID:???762nobodyさん
2021/06/21(月) 14:33:53.71ID:oQmF9W/n■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「やっぱ買うのやめた!」増殖するセルフレジ放置民 「現金使えない」「操作間違えた」会計途中で諦め商品置きっぱ…店側も対応苦慮 ★2 [ぐれ★]
- 自民・森山氏 コメ価格「安ければいいというものではない」 農家に再生産してもらえる価格を目指すべき [少考さん★]
- 【サッカー】バイエルン、三笘薫獲得名乗り 独スカイスポーツ報じる [久太郎★]
- 備蓄米の輸送費を国が負担と小泉農相 ★4 [おっさん友の会★]
- 若者が乱発する「やばい」 便利な言葉の一方で語彙力不足に懸念 [バイト歴50年★]
- 日本生命、国内債含み損が3兆6000億円と3倍超に拡大…金利上昇で [樽悶★]
- 安倍晋三のライフワークだった拉致問題。なぜ、安倍晋三は被害者を救出できなかったのか? [219241683]
- 「コメを買ったことがない」田舎者あるあるだった…コメ高騰で困ってるの都会人だけ? [481941988]
- ネトウヨ愛国者さんの主張、まとめるとヤバい [819729701]
- 【悲報】森山幹事長「米は安ければ安いほどいいわけではない😡」小泉農水相による過度な値下げ政策を牽制 [519511584]
- 日本人、セルフレジの途中で心が折れて帰る人続出 [831811767]
- 狂い続ける『40代日本人男性』… 自宅にバリカンを持ってこさせて丸刈り強要「俺はヤクザや」 [667744927]