背景
Laravelを使いつつも、DDDで設計を行っていて、
Eloquentモデルをドメインモデルと区別するために、
EloquentReservation、EloquentOptionといった名前にすることがありました。
この場合、デフォルトの設定だとテーブル名を、
eloquent_reservations
、eloquent_options
としなくてはならず、
長ったらしくなってしまいます。
そこで、関連するテーブル名をカスタマイズする方法を調べたのでここにメモします。
結論
と、いっても簡単で、$table
プロパティにテーブル名を設定するだけです。
namespace App;
use Illuminate\Database\Eloquent\Model;
class EloquentReservation extends Model
{
/**
* モデルと関連しているテーブル
*
* @var string
*/
protected $table = 'reservations';
}
以上。