gpt4 book ai didi

php - Laravel 中的填充方法不起作用?

转载 作者:IT王子 更新时间:2023-10-29 00:07:40 25 4
gpt4 key购买 nike

我正在学习如何使用 Laravel 框架,但我在填充模型时遇到了问题。这是我的代码:

模型事件:

<?php
class Event extends Eloquent {
//Some functions not used yet
}

Controller 中的代码如下:

$event = new Event();
$event->fill(array('foo', 'bar'));
print_r($event->attributes);

那么,为什么 print_r 显示的是一个空数组?

最佳答案

The attributes is a protected property. Use $obj->getAttributes() method.

其实。首先,您应该将模型名称从 Event 更改为其他名称,Laravel 有一个 Facade 类,如 Illuminate\Support\Facades\事件 所以这可能是个问题。

关于 fill 方法,您应该将关联数组传递给 fill 方法,例如:

$obj = new MyModel;
$obj->fill(array('fieldname1' => 'value', 'fieldname2' => 'value'));

还要确保您在 Model 中声明了一个 protected $fillable ( check mass assignment ) 属性,其中的属性名称允许填充。您也可以在初始化 Model 时做同样的事情:

$properties = array('fieldname1' => 'value', 'fieldname2' => 'value');
$obj = new ModelName($properties);

最后调用:

// Instead of attributes
dd($obj->getAttributes());

因为 attributes 是 protected 属性。

关于php - Laravel 中的填充方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com