我为这样的Eloquent定义了一个模型:
<?php
class Order extends Eloquent {
public $timestamps = false;
protected $fillable = ['station_id', 'created', 'due', 'month', 'comments', 'name', 'ud', 'dp', 'swrv', 'sh', 'jmsw', 'sw', 'prrv', 'mhsw', 'bmsw', 'mp', 'pr', 'st', 'total_points'];
}
?>
因此可填充数组中列出了19列。当我调用Order::find($id)
并从restler方法返回时,编码的JSON对象具有所有我的可填充列及其正确值和20个额外值,其中键是索引,因此station_id列在1键下,创建列表在2键等下......
如何让它不返回那些编号的值,只使用$ fillable值?
答案 0 :(得分:0)
您可以使用以下代码指定要从模型中的数据库检索哪些列。
public function profile() {
return $this->belongs_to('profile')->select(array('id', 'profilename'));
}
答案 1 :(得分:0)
你弄错了!
fillable
属性用于将通过提供数据数组填充的内容列入白名单
为了避免在输出中返回少量字段,您可以使用hidden
属性来提供黑名单。
从Laravel 4.2.8开始,您可以指定一个带有visible
属性的白名单,如下所示。
class Order extends Eloquent {
public $timestamps = false;
protected $fillable = ['station_id', 'created', 'due', 'month', 'comments', 'name', 'ud', 'dp', 'swrv', 'sh', 'jmsw', 'sw', 'prrv', 'mhsw', 'bmsw', 'mp', 'pr', 'st', 'total_points'];
protected $visible = ['station_id', 'created', 'due', 'month', 'comments', 'name', 'ud', 'dp', 'swrv', 'sh', 'jmsw', 'sw', 'prrv', 'mhsw', 'bmsw', 'mp', 'pr', 'st', 'total_points'];
}