我想从DetailUser模型中获取枚举数据。但它显示我的错误
尝试读取字符串上的属性“productive_status”
我该怎么弥补?这是我的代码:
edit.blade.php
<select name="productive_status"id="productive_status" class="form-control select2" required>
<option value="{{ '' }}" disabled selected>Choose</option>
@foreach($detail_user as $key => $detail_user_item)
<option value="{{ $detail_user_item->productive_status }}" {{ $detail_user_item->productive_status == $detail_user->productive_status ? 'selected' : '' }}>{{ $detail_user_item->productive_status }}</option>
@endforeach
</select>
@if($errors->has('productive_status'))
<p style="font-style: bold; color: red;">{{ $errors->first('productive_status') }}</p>
@endif
*DetailUser.php
protected $fillable = [
'user_id',
'type_user_id',
'contact',
'address',
'pgps',
'start_work_date',
'years_of_service',
'productive_status',
'job_contract',
'document',
'created_at',
'updated_at',
'deleted_at'
];
UserController.php
$role = Role::all()->pluck('title','id');
$type_user = TypeUser::orderBy('name', 'asc')->get();
$user->load('role');
$detail_user = DetailUser::find($user['id']);
return view('pages.backsite.management-access.user.edit', compact('user', 'role', 'type_user','detail_user'));
DetailUserTable.php
$table->enum('productive_status', ['Productive','Pre Retirement','Retired'])->nullable();
1条答案
按热度按时间0s0u357o1#
要修复此问题,请确保在UserController.php中检索DetailUser模型示例,而不仅仅是用户ID:
php复制代码$detail_user = DetailUser::where('user_id',$user->id)->first();通过使用first()方法而不是find()方法,可以检索与用户ID关联的DetailUser示例。
此外,通过更新控制器中的compact()方法,确保$detail_user变量被正确地传递给视图:
php复制代码返回视图('pages.backsite.management-access.user. edit',compact('user','role','type_user','detail_user'));在进行这些调整之后,$detail_user变量应该包含DetailUser模型示例,并且您应该能够访问Blade模板中的productive_status属性而不会遇到错误。