我正在学习长丝,但我被关系经理困住了:
我有两张桌子: 有两个冒号:ID和NOM "USERS",有5个冒号:ID、姓名、邮箱、密码、Eablissement_id
我试着设置我的关系经理如何在文档中写,但我没有成功.
我的代码是:
模型建立
class etablissements extends Model
{
use HasFactory;
protected $table = 'etablissements';
protected $fillable = [
'nom',
];
public function users(){
return $this->hasMany(User::class, 'etablissement_id');
}
}
模型用户:
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
public function etablissement(){
return $this->belongsTo(Etablissement::class);
}
}
UsersRelationManager.php:
class UsersRelationManager extends RelationManager
{
protected static string $relationship = 'users';
public function form(Form $form): Form
{
return $form
->schema([
Select::make('author_id')
->label('Author')
->options(User::all()->pluck('name', 'id'))
->searchable()
]);
}
public function table(Table $table): Table
{
return $table
->recordTitleAttribute('name')
->columns([
Tables\Columns\TextColumn::make('name'),
])
->filters([
//
])
->headerActions([
Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
])
->emptyStateActions([
Tables\Actions\CreateAction::make(),
]);
}
}
问题是,当我创建一个新的机构时,我必须 Select 一个(或多个)将连接到该机构的用户.一个用户只能链接到1个机构. 但是,当我将我的用户连接到机构时,该脚本将创建一个新用户,而不是 Select 一个现有用户.
我放了一些推荐信: edditing page for establishment个
为了获得信息,我与以下人员一起工作:
- 就第十条第(1)款而言
- PHP 8.1
- 灯丝v3
我试着阅读文档,查看其他代码,但一无所获