**文書の過去の版を表示しています。**
Model
カスタムのテーブル名
参考:雄弁 - Laravelは、データベーステーブルがモデル名の複数形であると想定しています
デフォルトではテーブル名はモデル名の複数形であると想定されて処理が走る。
しかし、テーブル名が「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';
}
スコープ
モデルクラスにスコープと呼ばれるメソッドを定義することで、データベースから取得するデータの範囲をすることができる。
class User extends Model
{
use HasFactory;
public function scopeOverId($query,$num)
{
return $query->where('id',$num);
}
}
class appController extends Controller
{
public function index(Request $request)
{
$records = User::overId(5);
}
}
コメント