雄辩的回归额外记录

时间:2014-08-11 03:32:57

标签: laravel-4 eloquent restler

我为这样的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值?

2 个答案:

答案 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'];
}