Вставки Laravel Eloquent ORM - PullRequest
       9

Вставки Laravel Eloquent ORM

1 голос
/ 11 марта 2019

Есть ли более короткий способ вставить данные в 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 со всеми функциями () и fetch (). но я получаю данные от другого объекта (мыльный сервер).

Есть ли способ конвертировать это? может за модель?

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Ваш контроллер

Предположим, 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'
    ];
}
0 голосов
/ 11 марта 2019
//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'
    ];
}

Попробуйте описанный выше метод, надеюсь, это сработает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...