в моем проекте Laravel Nova у меня есть следующие модели:
- Ricetta
-id
- Ingrediente
-id
- UnitaMisura
-id
- RicettaHasIngrediente (many to many, pivot table)
-ricetta_id
-ingrediente_id
-qta
-unita_misura_id
Код:
class Ricetta extends Model
{
public function ingrediente()
{
return $this->belongsToMany('\App\Models\Ingrediente', 'ricetta_has_ingrediente', 'ricetta_id', 'ingrediente_id')->withPivot('qta', 'unita_misura_id');
}
}
class Ingrediente extends Model
{
public function ricetta()
{
return $this->belongsToMany('\App\Models\Ricetta', 'ricetta_has_ingrediente', 'ingrediente_id', 'ricetta_id')->withPivot('qta', 'unita_misura_id');
}
}
class UnitaMisura extends Model
{
public function ricettaHasIngrediente()
{
return $this->belongsTo('\App\Models\ricettaHasIngrediente', 'unita_misura_id', 'id');
}
}
class RicettaHasIngrediente extends Model
{
public function unitaMisura()
{
return $this->belongsTo('\App\Models\UnitaMisura', 'unita_misura_id', 'id');
}
}
Я думаю, что эта структура верна.С Laravel Nova я определил все поля и атрибуты сводной таблицы, но я не могу использовать unita_misura_id:
...
BelongsToMany::make('Ingrediente')->fields(function () {
return [
Number::make('Quantità', 'qta'),
HasMany::make('unitaMisura', 'unitaMisura')
];
}),
...
Когда я открываю значение qta формы;unita_misura не отображается.Можешь мне помочь?спасибо!