差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
PHP:Laravel仕様:Model [2023/03/02 23:44] – 削除 - 外部編集 (Unknown date) 127.0.0.1 | PHP:Laravel仕様:Model [2025/04/12 05:15] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | # Model | ||
+ | |||
+ | ### カスタムのテーブル名 | ||
+ | |||
+ | 参考:[雄弁 - Laravelは、データベーステーブルがモデル名の複数形であると想定しています](https:// | ||
+ | |||
+ | デフォルトではテーブル名はモデル名の複数形であると想定されて処理が走る。 | ||
+ | |||
+ | しかし、テーブル名が「news」の場合があるが、無理にモデルを「new」にする必要はない。 | ||
+ | |||
+ | 下記のようにモデルでカスタムテーブルを宣言すれば問題ない。 | ||
+ | |||
+ | ``` | ||
+ | <?php | ||
+ | |||
+ | namespace App; | ||
+ | |||
+ | use Illuminate\Database\Eloquent\Model; | ||
+ | |||
+ | class News extends Model | ||
+ | { | ||
+ | /** | ||
+ | * The table associated with the model. | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | protected $table = ' | ||
+ | } | ||
+ | ``` | ||
+ | |||
+ | ### スコープ | ||
+ | |||
+ | 参考:[【Laravel】Eloquent(エロクアント)のscopeとは?ローカルとグローバルの違い](https:// | ||
+ | |||
+ | モデルクラスに**スコープ**と呼ばれるメソッドを定義することで、データベースから取得するデータの範囲をすることができる。 | ||
+ | |||
+ | ``` | ||
+ | class User extends Model | ||
+ | { | ||
+ | use HasFactory; | ||
+ | |||
+ | public function scopeOverId($query, | ||
+ | { | ||
+ | return $query-> | ||
+ | } | ||
+ | } | ||
+ | |||
+ | class appController extends Controller | ||
+ | { | ||
+ | public function index(Request $request) | ||
+ | { | ||
+ | $records = User:: | ||
+ | } | ||
+ | } | ||
+ | ``` | ||