samedi 14 septembre 2019

How to create DB entries in a model with foreign keys - best practice?

is there a better way to get this in Laravel working?

I am trying to create a Main Id in Table Tickets and then with this ID create a new entry, linking them with foreign key and having a reference.

Appretiate opinions, but would like to get reference to documentation as well.

Thx for your feedback, Christian

<?php

namespace App\Http\Controllers;

use App\Ticket;
use App\TicketHeader;

use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;

class TicketController extends Controller
{
    //

    public function createTicket(Request $request) 
    {


        $request->validate([
            'TicketTitle' => 'required|max:150',
            'TicketDescription' => 'required',
        ]);

        DB::transaction(function() use ($request) {

            // Erstellt ein Master Satz in Tickets, holt dort die ID um in Headers weitere Daten einzuführen.
            $ticket = new Ticket;
            $ticket -> save();
            // ID des letzten eingeführten
            $ticketID = $ticket->id;


            // Erstellt Daten in TicketHeader
            $ticketHeader = new TicketHeader;
            $ticketHeader->HeaderId = $ticketID;
            $ticketHeader->TicketTitle = $request->TicketTitle;
            $ticketHeader->TicketDescription = $request->TicketDescription;
            $ticketHeader->save();

        });

        return response()->json($request->all(), 201); 

    }

}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire