[解決済み] Laravel、each()関数でできることは?
質問内容
具体的な作業はなく、each()で何ができるのか知りたいだけです。
ググってみたところ、このような投稿がありました。
https://github.com/laravel/framework/issues/1380
と書かれています。
各アイテムは、すべてのアイテムに対して何らかの操作を行うために存在する、ただそれだけです。 があり、それはeachがすでにやっていることです。
操作とは何ですか?
どのように解決するのですか?
その
each
メソッドを使用すると、コレクション内の項目を繰り返し処理し、各項目に対してコードを実行できるようになります。との違いは
each
と
map
は、その一方で
each
は単に値を反復処理します。
map
を置き換えます。
の場合、コールバックで返される値がそのまま使用されます。のドキュメントは
each
が見つかりました。
ここで
. を見たい場合は
ソースコード
.
each メソッドは、コレクション内の項目を繰り返し処理し、その結果を の各項目をコールバックに渡す。イテレーションを停止したい場合は を返すと、コールバックはfalseを返します。
$users->each(function($user, $key) {
$user->update(['last_login' => Carbon::now()]);
});
お問い合わせの"some operations"はコールバックです。この場合、コールバック/操作は、です。
function($user, $key) {
$user->update(['last_login' => Carbon::now()]);
}
これにより、コレクション内のすべてのユーザーの最終ログイン時刻が現在の時刻に更新されます。さらに、もしメソッドを
User
という名前のモデル
updateLogin
class User extends Model
{
public function updateLogin()
{
$this->update(['last_login' => Carbon::now()]);
}
}
の集まりで、実は次のようにすればいいのです。
$users
:
$users->each->updateLogin();
について読むことができます。 ここで :
コレクションはまた、高次メッセージもサポートしています。 は、コレクションに対して一般的なアクションを実行するためのショートカットです。
関連
-
[解決済み] すべてのコントローラとビューのグローバル変数
-
[解決済み] ホームステッドインストール
-
[解決済み] htmlentities() はパラメータ 1 が文字列であることを予期しており、オブジェクトが与えられている
-
タイプエラーです。Too few arguments to function IlluminateSupport ゙Manager::createDriver()
-
[解決済み] のエラーが発生しました。OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 [重複].
-
[解決済み] Laravelでカスタムヘルパー関数を作成する方法
-
[解決済み] Laravelのファイルパーミッションを設定する方法は?
-
[解決済み】マイグレーション。外部キー制約を追加できない
-
[解決済み】laravel eloquentで特定の列を選択する方法
-
[解決済み】テーブルの最終行を選択する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 本番環境では `npm run prod` を実行する必要がありますか?
-
[解決済み] htmlentities() はパラメータ 1 が文字列であることを予期しており、オブジェクトが与えられている
-
[解決済み] Laravel Homesteadを使用しています。'入力ファイルが指定されていない'
-
laravelがWhoopsでサーバーにアップロード、何かが間違っていたようです。
-
[解決済み] "サーバーの応答 451 451 Temporary local - please try later" Mailgun、Laravel、VirtualBoxを使用してメールを送信する場合
-
[解決済み] のエラーが発生しました。OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 [重複].
-
[解決済み】Laravel - Eloquent "Has", "With", "WhereHas" - これらの意味は何ですか?
-
[解決済み】Laravel Eloquent。all()の結果の順序付け
-
[解決済み】Eloquentで「if not null」を確認する方法は?
-
[解決済み】Laravel ログイン後、元の宛先にリダイレクトする。