在Laravel 4,我有一个模型链接到一个数据库表。我们称之为Model
。Laravel 4目前的模型
说,这种模式有一个名为Property A
和Property B
的数据库列。
当我做get请求调用我的模型,即Model::all()
或Model::find($id)
,我不想回Property A
或Property B
,但某种两者的功能,这似乎是前端为某种只读字段,即Property C
。
我需要在这里使用演示库,或者是有没有办法通过内Laravel 4重写模式的功能呢?
我这里的关键是,属性显示,当我打电话Model::all()
编辑:
从我的理解这应该与名foo
不断地与价值"foo"
返回属性:
型号
class DiscountLink extends Eloquent {
protected $table = 'discountLinks';
protected $hidden = array('tag');
protected $fillable = array('name', 'currency', 'language', 'price', 'instalments', 'expires', 'active', 'foo');
public function getFooAttribute()
{
return "foo";
}
}
控制器
class DiscountLinkController extends \BaseController {
public function index()
{
return DiscountLink::all();
}
}
当我调用'Model :: all()'时应该出现'propertyC'? – iamyojimbo 2014-10-30 18:17:43
是的,一旦你遍历结果访问单个行。所以,如果你调用'$ model = Model :: all()',那么你可以在'foreach($ model ad $ m){var_dump($ m-> propertyC)};'内访问'propertyC'。另外,请确保'$ this-> attributes ['']'中的值是数据库中的实际字段名称;它是区分大小写的,因此,如果您的列被称为'property_a',存取应引用'$这个 - >属性[“property_a”];' – damiani 2014-10-30 18:33:29
说我有这个功能:'公共功能getFooAttribute(){ 回报 “goooglelelgoo”; '那么我应该总是有一个名为Foo的财产返回? – iamyojimbo 2014-10-30 18:34:15