【问题标题】:Laravel Eloquent ORM insertsLaravel Eloquent ORM 插入
【发布时间】:2019-08-01 11:17:26
【问题描述】:

在 Laravel 中通过 Eloquent ORM 插入数据有更短的方法吗?

目前我正在这样做:

$newCustomerGsale = new CustomersGsale();
$newCustomerGsale->email = $gsalesCustomer->getEmail();
$newCustomerGsale->customerno = $gsalesCustomer->getCustomerNumber();
$newCustomerGsale->created = $gsalesCustomer->getCreated();
$newCustomerGsale->company = $gsalesCustomer->getCompany();
$newCustomerGsale->firstname = $gsalesCustomer->getFirstname();
$newCustomerGsale->lastname = $gsalesCustomer->getLastname();
$newCustomerGsale->save();

就像你看到的那样,所有的列都像属性一样命名。

我知道你可以将 $request 对象与 all() 函数和 fetch() 一起使用。 但我从其他对象(soap 服务器)获取数据。

有没有办法转换它?也许超过模型?

【问题讨论】:

标签: php laravel eloquent


【解决方案1】:
//MyControllerClass
public function store(myCustomValidator $request){
  CustomersGsale::insert($request->all());
}

//myCustomValidator class
public function rules(): array
{
    return [
        'email' => 'required|numeric',
        'customerno' => 'required',
        'created' => 'required',
        'company' => 'required',
        'firstname' => 'required'
        'lastname' => 'nullable'
    ];
}

试试上面的方法,希望对你有用。

【讨论】:

    【解决方案2】:

    你的控制器

    假设 CustomersGsale 是你的模型

    public function store(CustomersGsaleFormRequest $request)
    {
        CustomersGsale::create($request->all());
    }
    

    CustomersGsaleFormRequest.phpLaravel Form Requests Validation

    public function rules()
    {
        return [
            'email'         => 'required|email',
            'customerno'    => 'required',
            'created'       => 'required',
            'company'       => 'required',
            'firstname'     => 'required'
        ];
    }
    

    CustomersGsale.php模特

    您的属性和列应该相同。 如果您使用create 方法存储数据,那么您需要在模型上指定fillableguarded 属性

    class CustomersGsale extends Model 
    {
        protected $fillable = [
            'email', 'customerno', 'created', 'company', 'firstname', 'lastname'
        ];
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-16
      • 2014-04-17
      • 2012-12-10
      • 2021-07-03
      • 2012-09-24
      • 2013-02-12
      • 2016-07-01
      • 2016-09-24
      • 2013-12-28
      相关资源
      最近更新 更多