为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码有什么用,“ protected $attributes = []; ”?

这段代码有什么用,“ protected $attributes = []; ”?

PHP
回首忆惘然 2021-06-16 10:09:21
我是 Laravel 的初学者。我从 laravel 的网站https://laravel.com/docs/5.8/eloquent#default-attribute-values阅读了一些信息,它说我们可以在模型中设置一些默认属性。详细说的是:默认属性值如果您想为模型的某些属性定义默认值,您可以在模型上定义 $attributes 属性:<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Flight extends Model{    /**     * The model's default values for attributes.     * @var array     */    protected $attributes = [        'delayed' => false,    ];}现在,我已经在 Laravel 中创建了 CRUD 函数。并在数据库中设置一些示例/默认值,它是 "id"=1,"element1"="ABC","element2"="abc"。最后,我在显示表中找不到任何东西。Database Table:...public function up()  {    Schema::create('cruds', function (Blueprint $table) {      $table->bigIncrements('id');      $table->string('element1');      $table->string('element2');  });}...Model:CRUD<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class crud extends Model{    protected $timestramp = false;    protected $primarykey = "id";    protected $attributes =[        'id'        => 1,        'element1'  => "ABC",        'element2'  => "abc",    ];}View.blade.php...<tbody>@foreach ($CRUDitems as $item)  <tr>    <th scope="row">{{ ($item->$id) }}</th>    <td>{{ ($item->$element1) }}</td>    <td>{{ ($item->$element2) }}</td>  </tr>@endforeach</tbody>...CRUDController.php...public function index()  {    $CRUDitems = crud::all();    return view('CRUD.viewTable',compact('CRUDitems')) ;  }...web.php<?phpRoute::resource('/CRUD', 'CRUDController');我想设置一些默认值怎么办?谢谢你!
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

你必须从你的模型中制作一个对象。为此(出于测试目的)让我们添加这样的路由:


Route::get('test', 'CRUDController@test');

在你的控制器中添加一个test这样的方法:


public function test(){

    $crud = new Crud();

    $crud->save();

}

你也可以tinker用来测试你的代码。


输入php artisan tinker命令/控制台,然后创建模型的新实例:


$crud = new App\Crud;

$crud->save();


查看完整回答
反对 回复 2021-06-25
  • 1 回答
  • 0 关注
  • 247 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信