Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Acesso a dados usando relacionamentos Laravel


Aqui está sua resposta. Você está indo bem, criou uma tabela dinâmica para cliente e projeto para poder anexar o máximo de projetos a qualquer cliente. Aqui está a relação com o modelo.

Modelo de cliente
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

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

Modelo de projeto
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Projects extends Model
{



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


}   

?>

Para salvar o ID do projeto, use o seguinte caminho no método do controlador
    $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);

.