我目前正在 FilamnentPHP v3 中开发一个项目,我正在尝试找出如何自动将当前 user_id 传递到我的数据库实体。
我想创建一个隐藏的输入字段并将该字段的默认值设置为当前的 user_id。但看起来 Filament 忽略了 hide() TextInput 并插入 null 或根本不执行任何操作。
我的错误解决方案
TextInput::make('user_id')
->label(__('messages.created_by'))
->required()
->default(
Filament::auth()->id()
)->readOnly()
->hidden()
那么在 Filament v3 中,有什么方法可以在表单提交后自动将值传递到数据库。
我也尝试查看 dilament-docu,但我没有真正幸运地找到可以帮助我解决问题的东西
您可以尝试为模型创建一个观察者。
class PostObserver
{
public function creating(Post $post)
{
if (!isset($post->user_id) && auth()->check()) {
$post->user_id = auth()->id();
}
}
}