首页 > 解决方案 > 将数据用户类型更新到数据库的问题

问题描述

我收到此错误参数 1 必须传递给 Illuminate\Database\Eloquent\Relations\BelongsTo::update() 。我制作的表单可以将数据提交到 2 个不同的数据库表。我有问题在提交表单期间更新数据用户类型。我是laravel的新手,希望可以帮助我

User.php 模型

'
<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'ic', 'phone','email', 'usertype', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    public function detailusers()
    {
        return $this->hasMany('App\Users\DetailUsers');
    }
}'

DetailUsers.php 模型

'
<?php

namespace App\Users;

use Illuminate\Database\Eloquent\Model;

class DetailUsers extends Model
{
    protected $guard = 'detail_users';
  
    /*
    *   Table Name
    */
    protected $table = 'detail_users';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'user_id','organization', 'address',
    ];

    /**
     * Get the application updater
     */
    public function updater()
    {
        return $this->belongsTo('App\User','updated_by');
    }

    /**
     * Get  information associated with the user.
    */
    public function users()
    {
        return $this->belongsTo('App\User','id');
    } 
}
'

DetailUsersController

'
<?php

namespace App\Http\Controllers\Users;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Users\DetailUsers;
use App\User;
use Carbon\Carbon;
use Validation;
use Datatables;
use Response;

class DetailUsersController extends Controller
{
    public function indexdetail(Request $request, $id)
    {   
        $users = User::find(auth()->user()->id);
        $users = User::findOrFail($id);
        $detail = new DetailUsers;
        return view('user.nufo')->with('users',$users);
    }


public function storedetail(Request $request, $id)
    {   
        //$users = User::findOrFail($id);
       
        $detail = new DetailUsers;
        $detail->organization = $request->input('organization');
        $detail->address = $request->input('address');
        $detail->user_id = $request->input('user_id');
        $detail->save();

        $users = User::find($id);

        if(  $detail->save() )
        {
            $users = new User;
            $users->usertype = $request->input('usertype');
            $detail->users()->update($users);
        }
         return redirect('/dashboard-user')->with('status','Your Data is Updated');
    }
}'

用户刀片.php

'
<div class="login100-form-title p-t-25 p-b-20">{{ __('New User Update Profile') }}</div>

              

    <div class="wrap-input100 validate-input m-b-10" >
        {{ auth()->user()->name }}

        <span class="symbol-input100">
                <i class="fa fa-user"></i>
        </span>
    </div>

    <div class="wrap-input100 validate-input m-b-10" >
        {{ auth()->user()->ic }}

        <span class="symbol-input100">
                <i class="fas fa-id-card"></i>
        </span>    
    </div>

    <div class="wrap-input100 validate-input m-b-10" >
            {{ auth()->user()->phone }}

        <span class="symbol-input100">
                <i class="fa fa-phone"></i>
        </span>    
    </div>

    <div class="wrap-input100 validate-input m-b-10" >
        {{ auth()->user()->email }}
        <span class="symbol-input100">
                <i class="fa fa-envelope"></i>
        </span>
    </div>
    
<form method="POST" class="login100-form validate-form" action="{{url('role-user-update',Auth::user()->id,Auth::user()->usertype)}}">
{{ csrf_field() }}
    {{ method_field('PUT') }}
    <input type="hidden" name="user_id" value="{{ auth()->user()->id }}" >
    <div class="wrap-input100 validate-input p-t-10 m-b-10" data-validate = "Organization is required">
        <input placeholder="{{ __('Organization/Work Place') }}" id="organization" type="text" class="input100 form-control @error('organization') is-invalid @enderror" name="organization" value="{{ old('organization') }}" required autocomplete="organization" required>
            @error('organization')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
            @enderror
        <span class="symbol-input100">
                <i class="fa fa-briefcase"></i>
        </span>
    </div>
    <div class="wrap-input100 validate-input p-t-10 m-b-10" data-validate = "Address is required">
        <input placeholder="{{ __('Address Organization/Work Place') }}" id="address" type="text" class="input100 form-control @error('address') is-invalid @enderror" name="address" value="{{ old('address') }}" required autocomplete="address" required>
            @error('address')
                <span class="invalid-feedback" role="alert">
                    <strong>{{ $message }}</strong>
                </span>
            @enderror
        <span class="symbol-input100">
                <i class="fa fa-briefcase"></i>
        </span>
    </div>

    <div class="wrap-input100 validate-input m-b-10" data-validate = "Checkbox is required">
            <input class="input100-check" id="usertype" type="checkbox"  name="usertype" value="user" required>
        <label class="form-check-label txt1" for="usertype">
            {{ __('Saya Akui Semua Maklumat Yang Diberikan Adalah Benar') }}
        </label>
    </div>
    <div class="container-login100-form-btn p-t-10">
            <button type="submit" class="login100-form-btn">
                {{ __('Submit') }}
            </button>
    </div>
</form>'
    

标签: updates

解决方案


推荐阅读