ciao!
ho questo model:
codice:
class Persona extends Model {
protected $table = "persone";
protected $primaryKey = "id";
public $timestamps = false;
protected $fillable = [
"id",
"nome",
"email",
];
public function attivita(): HasMany {
return $this->hasMany('App\Models\Attivita', 'fk_persona', 'id');
}
}
una persona può avere N attivita.
una attività può appartenere ad una persona.
questo il model attivita:
codice:
class Attivita extends Model {
protected $table = "attivita";
protected $primaryKey = "id_attivita";
public $timestamps = false;
protected $fillable = [
"id_attivita",
"fk_persona",
"nome_attivita",
];
public function persona(): BelongsTo {
return $this->belongsTo('App\Models\Persona', 'id', 'fk_persona');
}
}
se io nel controller faccio questo:
codice:
class TestController extends Controller {
public function index(): JsonResponse {
$query = Persona::all();
return response()->json($query, 200);
}
}
ottengo questo json:
codice:
[
{
"id": 1,
"nome": "matteo",
"email": "ciao@ciao.com"
},
{
"id": 2,
"nome": "marco",
"email": ""
}
]
ma non sarebbe possibile ottenere direttamente un json con tutte le attività come array?
una cosa del genere per capirci:
codice:
[
{
"id": 1,
"nome": "matteo",
"email": "ciao@ciao.com",
"attivita": [
]
},
{
"id": 2,
"nome": "marco",
"email": "",
"attivita": [
]
}
]