文書の表示以前のリビジョン文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 # Model ### カスタムのテーブル名 参考:[雄弁 - Laravelは、データベーステーブルがモデル名の複数形であると想定しています](https://stackoverflow.com/questions/37674309/laravel-assumes-the-database-table-is-the-plural-form-of-the-model-name) デフォルトではテーブル名はモデル名の複数形であると想定されて処理が走る。 しかし、テーブル名が「news」の場合があるが、無理にモデルを「new」にする必要はない。 下記のようにモデルでカスタムテーブルを宣言すれば問題ない。 ``` <?php namespace App; use Illuminate\Database\Eloquent\Model; class News extends Model { /** * The table associated with the model. * * @var string */ protected $table = 'news'; } ``` ### スコープ 参考:[【Laravel】Eloquent(エロクアント)のscopeとは?ローカルとグローバルの違い](https://tech.amefure.com/php-laravel-eloquent-scope) モデルクラスに**スコープ**と呼ばれるメソッドを定義することで、データベースから取得するデータの範囲をすることができる。 ``` class User extends Model { use HasFactory; public function scopeOverId($query,$num) { return $query->where('id',$num); // Userモデルのコレクションが返る } } class appController extends Controller { public function index(Request $request) { $records = User::overId(5); // scopeによるデータ取得 } } ``` PHP/Laravel仕様/Model.txt 最終更新: 2025/04/12 05:15by 127.0.0.1