gpt4 book ai didi

php - 带有 Eloquent 的 Laravel 不会在数据库中保存模型属性

转载 作者:可可西里 更新时间:2023-10-31 23:05:06 25 4
gpt4 key购买 nike

我正在使用 php laravel 框架构建一个网络应用程序。当我将模型保存在数据库中时,它会插入但不保存模型属性。我看不出如何修复,因为 laravel 日志没有显示任何错误。有什么想法吗?

这是模型:

/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'test';
// protected $fillable = array('name', 'surname', 'mobile', 'phone', 'mail', 'adress');

// Model properties
private $name;
private $surname;
private $mobile;
private $phone;
private $mail;
private $adress;

// Model constructor
function __construct($name, $surname, $mobile, $phone, $mail, $adress) {
$this->name = $name;
$this->surname = $surname;
$this->mobile = $mobile;
$this->phone = $phone;
$this->mail = $mail;
$this->adress = $adress;
}

还有创建用户对象并将其保存到数据库的 php 代码

<?php

// Create an object using model's constructor
$user = new User('John', 'Doe', 685412578, 9354784125, 'j@doe.com', 'Portland');

// Show some properties
echo '<p>'.$user->getName().'</p>';
echo '<p>'.$user->getSurname().'</p>';

// Saving model on database
$user->save();

?>

当我执行 php 代码时,在屏幕上显示模型属性并进行插入但不保存属性。如果有人可以帮助我,那就太好了:)


有解决方案(如果有人有相同或类似的问题)

型号:

    protected $table = 'test';

// Fields on databse to save model properties
protected $fillable = array('name', 'surname', 'mobile', 'phone', 'mail', 'adress');

// Model properties
private $name;
private $surname;
private $mobile;
private $phone;
private $mail;
private $adress;

和php代码:

 <?php

// Create an object
$user = User::create(array(
'name'=>'John',
'surname'=>'Doe',
'mobile'=>685412578,
'phone'=>9354784125,
'mail'=>'j@doe.com',
'adress'=>'Portland'
));

// Show some properties
echo '<p>'.$user->name.'</p>';
echo '<p>'.$user->surname.'</p>';

// Saving model on database
$user->save();

?>

最佳答案

http://laravel.com/docs/eloquent#mass-assignment 所述,您需要为所有要批量分配的属性设置 $fillable 属性。因此,您应该取消注释以 protected $fillable = ... 开头的行。

关于php - 带有 Eloquent 的 Laravel 不会在数据库中保存模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25773441/

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