Cas*_*sey 6 php laravel eloquent
有没有办法将字段名称映射到数据库中的模型中的不同属性名称?例如,如果数据库的字段名称为customer_id但我希望以这种方式使用eloquent,Customer::get(['id'])我尝试使用getAttribute方法,但是在eloquent尝试获取值之后调用.
Jar*_*zyk 15
您可以使用访问器来处理这些属性,但是没有办法以核心雄辩的方式查询它们.
但不要害怕!使用这个包https://github.com/jarektkaczyk/eloquence,您可以轻松实现您想要的(Mappable特别是):
// Customer model
protected $maps =[
'id' => 'customer_id',
'name' => 'customer_name',
...
];
// then you can do this:
$customer = Customer::where('name', 'whatever')->first();
// calls WHERE customer_name = ? sql
$customer->id; // customer_id column
$customer->name; // customer_name column
$customer->name = 'different name'; // set mutator works as well
Run Code Online (Sandbox Code Playgroud)
它正在大力发展,目前 select尚未得到支持,但这是一两天的事情.select已经推动了支持.