ブックマーク / www.yoheim.net (2)

  • [Laravel] Eloquentのwith関数で、子テーブルの情報をまとめて取得する(Eager Loading) - YoheiM .NET

    こんにちは、@yoheiMuneです。 Laravelで実装していて、親テーブル取得時に関連する子テーブルの一覧も合わせて取得したいことがあると思います。そんな時に便利なwith関数について、今日はブログを書こうと思います。 目次 何がしたいのか 例えば、投稿を表現するpostsテーブルと、その投稿内容(=1〜N枚の画像)を表現するpost_contentsテーブルがあるとします。特定のPostを取得した際に、それにひもづくPostContentsを一覧で取得したい場合に、どうしたら良いかを記載しています。 手順1:モデル定義で関連(hasMany)を表現する まずは、PostsとPostContentsのモデルを定義し、hasManyを用いて関連も合わせて定義します。 <?php namespace App; use Illuminate\Database\Eloquent\Model;

    [Laravel] Eloquentのwith関数で、子テーブルの情報をまとめて取得する(Eager Loading) - YoheiM .NET
    cha1ra
    cha1ra 2019/11/12
  • [Laravel] EloquentでAttributeと$appendsを使って、独自定義のフィールドを作る - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日はLaravelネタで、Eloquentで独自属性(独自のプロパティ)を定義して、それをJSONに含めて返す方法をブログに書きたいと思います。 目次 何がしたいのか Eloquentで作成したモデルは、対応したデータベースのテーブルを表現しています。例えば、ユーザーの投稿を表現するpostsテーブルがあるとします。その中で投稿ファイルの名前を保持するフィールド(file_name)がある場合に、クライアントへのレスポンスはファイル名ではなくてファイルにアクセス可能なURLで返したいという場面が多いです。 // 取得できるものはfile_name file_name : '1.jpg' // しかし、クライアントへ返却したいのは、それにアクセスするためのURL file_url : 'https://xxx.s3.ap-northeast-1.am

    [Laravel] EloquentでAttributeと$appendsを使って、独自定義のフィールドを作る - YoheiM .NET
    cha1ra
    cha1ra 2019/08/21
    “ public function getFileUrlAttribute() { $path = 'https://xxx.s3.ap-northeast-1.amazonaws.com/'; return $path1 . $this->file_name; }”
  • 1