Esse método Create com request all é maravilhoso, porém como eu faria caso eu tenha que tratar o conteúdo recebido do form antes de enviar para o banco?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Esse método Create com request all é maravilhoso, porém como eu faria caso eu tenha que tratar o conteúdo recebido do form antes de enviar para o banco?
Esse 'tratar' seria o que, algum tipo de validação, formatação de algum dados, adicionar atributos computados?
No caso da validação, você pode usar o form validation request, esse é o cara responsável por validar os dados vindos da requisição com base em regras já definidas. A documentação é muito clara sobre o que você pode fazer.(https://laravel.com/docs/5.8/validation)
No caso de alguma formatação dos dados, você pode usar um recurso do eloquent, os mutators. É um recurso muito interessante. Novamente, a documentação é muita clara. (https://laravel.com/docs/5.8/eloquent-mutators)
Se ainda assim, você precisar fazer alguma coisa que essas recursos não lhe satisfaçam, por exemplo, além dos dados vindos da requisição, você quer adicionar algo a mais, como um atributo computado. Faça algo como:
$requestData = Request::all();
$requestData['atributo_computado'] = 'Qualquer valor';
Produto::create($requestData);Mas lembre que, se esse for o caso, o 'atributo computado' deve estar no array $fillable do teu model. Caso contrário esse atributo será ignorado. Mais informações sobre isso (https://laravel.com/docs/5.8/eloquent#mass-assignment)
Olá, João. Na nova versão dos cursos de Laravel trabalhamos tanto com o caso do $request->all() quanto pegando atributos individualmente.
:-D
Mas basicamente, o que o Matheus disse resolve seus problemas.