簡體   English   中英

Laravel雄辯的ORM插入

[英]Laravel Eloquent ORM inserts

有沒有一種更簡便的方法,可以通過口才的ORM在Laravel中插入數據?

目前,我正在這樣做:

$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()一起使用。 但是我從另一個對象(肥皂服務器)獲取數據。

有辦法轉換嗎? 也許在模型上?

//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'
    ];
}

嘗試上述方法,希望對您有用。

您的控制器

假設CustomersGsale是您的模型

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

CustomersGsaleFormRequest.php Laravel表單請求驗證

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

CustomersGsale.php模型

您的屬性和列應該相同。 如果使用create方法存儲數據,則需要在模型上指定fillable或受guarded屬性

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM