search
LoginSignup
1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Laravel attribute original の違い

dd()するとよく出てくるこの二つの違いについて調べてみました。

スクリーンショット 2021-08-25 0.55.52.png

それぞれの違い

original

originalは名前の通りオリジナルのデータになります。
コレクション型でデータを引っ張ってきてdd()するとoriginalにデータが入ります。

MainController.php
$boxes = Box::orderBy('created_at', 'asc')->get();
dd($boxes);

attribute

こちらは加工したデータが入ります。
下記のようにmap()関数でdistanceというカラムを増やしてあげると

参考
Laravelのモデルの結果セットに「任意のカラム」を追加する
https://pgmemo.tokyo/data/archives/1384.html

MainController.php
  $boxes->map(function($item,$key) use ($my_lat,$my_long){

    $item['distance'] .= $item->get_distance($my_lat,$my_long);
    return $item;
   });
   dd($boxes);

スクリーンショット 2021-08-25 1.06.54.png

attributeの項目が増えます。

感想

意味がわかると面白い

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1
Help us understand the problem. What are the problem?