je la structure de base de données suivante:Laravel - plusieurs modèles dans un contrôleur
Enquiries
id
total_widgets
TOTAL_AMOUNT
CUSTOMER_ID
Customers
id,
prenom,
last_name
En utilisant le formulaire lorsque vous créez une enquête sur vous pouvez entrer les données clients dans la section et cela stocker en utilisant firstOrCreate
, puis obtenir le id
afin de lier à Enquiry
au Customer
Maintenant, le problème est que tout cela est fait dans la méthode store
dans le contrôleur Customers
, comme ce qui suit:
public function store(Request $request)
{
$rules = array(
"first_name" => "required",
"last_name" => "required",
"total_widgets" => "required"
);
// Handle validation
// Create customer
$customer = \App\Customers::firstOrCreate(['first_name' => $request-
>get('first_name')]);
$enquiry = new \App\Enquiries();
$enquiry->customer_id = $customer->id;
$enquiry->save();
}
Le problème avec le faire comme ceci est que ce n'est pas séparé et si le processus de création d'un client change, alors je devrais changer cela beaucoup de fois. (Chaque fois que j'ai une section qui nécessite un client) ..
Y at-il une meilleure façon de le faire? Par exemple, le client doit-il être créé séparément, puis l'ID est passé dans le $request
?