sql >> Databáze >  >> RDS >> Mysql

Přístup k datům pomocí vztahů Laravel

Zde je vaše ans. Jste na dobré cestě, když jste vytvořili kontingenční tabulku pro klienta a projekt, takže můžete k libovolnému klientovi připojit co nejvíce projektů. Zde je vztah s modelem.

Model klienta

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Client extends Model
{
    public function projects() {
        return $this->belongsToMany(Project::class,'client_project');
    } 
}   

Model projektu

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Projects extends Model
{



    public function client() {
        return $this->belongsToMany(Client::class,'client_project');
    } 


}   

?>

Pro Uložit ID projektu použijte následující způsob v metodě kontroleru

    $client = new Client();
    $client->name = $request->input("nameClient");
    $client->slug = $request->input("slugClient");
    $client->priority = $request->input("priorityClient");
    $client->save();
    $project = new Project();
//include fields as per your table 

    $project->save();

    $client->projects()->attach($project->id);

.




  1. Nelze získat počet řádků a načíst při použití připraveného příkazu MySQLi

  2. Chyba adaptéru protokolu Oracle

  3. Jak přepsat přiřazení automaticky se zvyšujícího primárního klíče při vkládání hodnoty do tabulky MySQL?

  4. Jak implementovat LIMIT s SQL Server?