タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

技術とeloquentに関するsnjxのブックマーク (4)

  • Laravel Eloquent でハマらないために知っておきたいこと - Qiita

    はじめに はじめまして、オープンロジのエンジニアで @ttaka と申します。 この記事は OPENLOGI Advent Calendar 2017 の8日目になります。 さて、弊社サービスのサーバーサイド開発には、 PHP のフレームワークである Laravel が使われています。今回はその LaravelORM である Eloquent を使う際に、ちょっとハマりそうなポイントをいくつかご紹介したいと思います。 ハマりポイント 論理削除トレイトはテーブルの結合先では動作しない 論理削除自体には賛否ありますが、 Eloquent には標準でその機能が提供されています。 例えば、次のような論理削除を使用している User と Profile クラスがあるとします。 class User extends Model { use SoftDeletes; public function

    Laravel Eloquent でハマらないために知っておきたいこと - Qiita
  • Laravelにおけるリレーショナルモデルの削除 - Qiita

    概要 特定のモデルを削除した際に、関連するモデルを同時に削除する方法について。 前提となる条件 Laravel学習目的で開発した monelytics のソースコードをベースに説明を進める。ソースコードは GitHub を参照。 PHP 5.5.21 Laravel 4.2 実装 テーブル構成 ActivityCategoryGroupモデルは複数のActivityモデルを所有する (※説明を簡略化するため、ここでは最小限のカラムのみ記載する)。 CREATE TABLE IF NOT EXISTS `monelytics`.`activity_category_groups` ( `id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) CREATE TABLE IF NOT EXISTS `monelyt

    Laravelにおけるリレーショナルモデルの削除 - Qiita
  • Laravelの論理削除と愉快なトラップたち - Qiita

    public function rules() { return [ 'name' => [ 'required', Rule::unique('countries')->whereNull('deleted_at') ] ]; } 2. カスタムバリデーションでEloquent ORMを使う Laravel5でカスタムバリデーションを参考にするとできる。今はめんどくさいけど、Laravel 5.5. Custom Validator Rulesによると、5.5で楽になりそう また、existsについても同じように、「削除したのにバリデーションが通ってしまう」現象が起きるので、同様の処置が必要です。 ->delete()メソッドを使うと孫が消えてくれない 論理削除のときにDelete on Cascade的なことをやりたいときの話 Country < User < Postのリレーションを

    Laravelの論理削除と愉快なトラップたち - Qiita
  • Eloquent:利用の開始 5.7 Laravel

    イントロダクション Eloquent ORMLaravelに含まれている、美しくシンプルなアクティブレコードによるデーター操作の実装です。それぞれのデータベーステーブルは関連する「モデル」と結びついています。モデルによりテーブル中のデータをクエリできますし、さらに新しいレコードを追加することもできます。 使用開始前にconfig/database.phpを確実に設定してください。データベースの詳細はドキュメントで確認してください。 モデル定義 利用を開始するには、まずEloquentモデルを作成しましょう。通常モデルはappディレクトリ下に置きますが、composer.jsonファイルでオートロードするように指定した場所であれば、どこでも自由に設置できます。全てのEloquentモデルは、Illuminate\Database\Eloquent\Modelを拡張する必要があります。 モデ

  • 1