Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未在配置文件表中插入值_Php_Laravel_Eloquent - Fatal编程技术网

Php 未在配置文件表中插入值

Php 未在配置文件表中插入值,php,laravel,eloquent,Php,Laravel,Eloquent,这是UserProfile模型 class UserProfile extends Model { protected $guarded = []; public function user() { return $this->belongsTo(User::class,'user_id','id'); } public function country() { return $this->belong

这是UserProfile模型

class UserProfile extends Model
{
    protected $guarded = [];

    public function user()
    {
        return $this->belongsTo(User::class,'user_id','id');
    }
    public function country()
    {
        return $this->belongsTo(Country::class,'country_id','id');
    }
}
这就是乡村模式

class Country extends Model
{
    protected $guarded = [];

    public function posts()
    {
        return $this->hasManyThrough(Post::class,UserProfile::class,'country_id','user_id','id','user_id');
    }
}
这是用户控制器

    public function create()
    {
        //
        $roles = \App\Role::all();
        $countries = \App\Country::all();
        return view('dashboard.users.create',compact('countries','roles'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {

        $user = [
            'username' => $request->username,
            'name' => $request->name,
            'email' => $request->email,
            'password' => bcrypt($request->password),
        ];

        $user = \App\User::create($user);
               $filename = sprintf('thumbnail_%s.jpg',random_int(1, 1000));
        if ($request->hasFile('photo')) 
         $filename = $request->file('photo')->storeAs('profiles',$filename,'public');
     else
        $filename = "profiles/dummy.jpg";

    if ($user) {
        $profile = new \App\UserProfile([
            'user_id' => $user->id,
            'city' => $request->city,
            'country_id' => $request->country,
            'photo' => $filename,
            'phone' => $request->phone,
        ]);

        $user->profile()->save($profile);
        $user->roles()->attach($request->roles);


        return redirect()->route('users.index');
    }

}
@extends('dashboard.layout'))
@节(“内容”)
@csrf
名称
全名
电子邮件
密码
电话
选择国家
@如果(!$countries->isEmpty())
@foreach($国家作为$国家)
{{$country->name}
@endforeach
@恩迪夫
城市
选择角色
@如果(!$roles->isEmpty())
@foreach($roles作为$role)
{{$role->name}
@endforeach
@恩迪夫
轮廓图像
添加新用户
@端部
这是创建视图

我使用此代码将值插入到两个表中,一个表是用户表,另一个表是使用关系的用户配置文件表。在用户表中,值插入成功,但未在配置文件表中插入值。

尝试此
create()
函数引用链接

$profile=\App\UserProfile::create([
'user_id'=>$user->id,
“城市”=>$request->city,
“国家/地区id”=>$request->country,
'photo'=>$filename,
“电话”=>$request->phone,
]);

完全控制器将被禁用

公共函数storeA(请求$Request)
{
$user=[
“用户名”=>$request->username,
“名称”=>$request->name,
“电子邮件”=>$request->email,
“密码”=>bcrypt($request->password),
];
$user=\App\user::create($user);
$filename=sprintf('thumbnail_u%s.jpg',random_int(11000));
如果($request->hasFile('photo'))
$filename=$request->file('photo')->storeAs('profiles',$filename,'public');
其他的
$filename=“profiles/dummy.jpg”;
如果($user){
$profile=\App\UserProfile::create([
'user_id'=>$user->id,
“城市”=>$request->city,
“国家/地区id”=>$request->country,
'photo'=>$filename,
“电话”=>$request->phone,
]);
$user->roles()->attach($request->roles);
return redirect()->route('users.index');
}

尝试从new\App\UserProfile中删除'user\u id'=>$user->id。因为当使用ORM保存laravel时,它将为我们插入。它工作正常,我已向上投票
    public function create()
    {
        //
        $roles = \App\Role::all();
        $countries = \App\Country::all();
        return view('dashboard.users.create',compact('countries','roles'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {

        $user = [
            'username' => $request->username,
            'name' => $request->name,
            'email' => $request->email,
            'password' => bcrypt($request->password),
        ];

        $user = \App\User::create($user);
               $filename = sprintf('thumbnail_%s.jpg',random_int(1, 1000));
        if ($request->hasFile('photo')) 
         $filename = $request->file('photo')->storeAs('profiles',$filename,'public');
     else
        $filename = "profiles/dummy.jpg";

    if ($user) {
        $profile = new \App\UserProfile([
            'user_id' => $user->id,
            'city' => $request->city,
            'country_id' => $request->country,
            'photo' => $filename,
            'phone' => $request->phone,
        ]);

        $user->profile()->save($profile);
        $user->roles()->attach($request->roles);


        return redirect()->route('users.index');
    }

}
@extends('dashboard.layout')
@section('content')
<form action="{{route('users.store')}}" method="post" enctype="multipart/form-data">
    @csrf
    <div class="form-row align-item-center">
        <div class="col-md-12">
            <label for="inputUsername"> Name</label>
            <input type="text" class="form-control mb-2" name="username" id="inputUsername" placeholder="UserName">
        </div>
        <div class="col-md-12">
            <label for="inputName">Full Name</label>
            <input type="text" name="name" class="form-control mb-2" id="inputName" placeholder="Full Name">
        </div>
        <div class="col-md-12">
            <label for="inputUserEmail">Email</label>
            <input type="email" class="form-control mb-2" name="email" id="inputUserEmail" placeholder="Enter a valid Email">
        </div>
        <div class="col-md-12">
            <label for="inputPassword">Password</label>
            <input type="password" name="password" class="form-control mb-2" id="inputPassword" placeholder="************">
        </div>
        <div class="col-md-12">
            <label for="inputPhone">Phone</label>
            <input type="text" name="phone" class="form-control mb-2" id="inputPhone" placeholder="+923132244567">
        </div>
        <div class="col-md-12">
            <label for="selectCountry">Select Country</label>
            <select name="country" id="" class="form-control">
                @if(!$countries->isEmpty())
                @foreach($countries as $country)
                <option value="{{$country->id}}">{{$country->name}}</option>
                @endforeach
                @endif
            </select>
        </div>
        <div class="col-md-12 mt-3">
            <label for="inputCity">City</label>
            <input type="text" name="city" class="form-control mb-2" id="inputCity" placeholder="Enter Your City Name">
        </div>
        <div class="col-md-12">
            <label for="selectRoles">Select Roles</label>
            <select name="roles[]" id="selectRoles" class="form-control" multiple>
                @if(!$roles->isEmpty())
                @foreach($roles as $role)
                <option value="{{$role->id}}">{{$role->name}}</option>
                @endforeach
                @endif
            </select>
        </div>
        <div class="col-md-12 my-3">
            <label for="inputFileName">Profile Image</label>
            <input type="file" name="photo" class="form-custom-control mb-2" id="inputFileName">
        </div>
        <div class="col-md-12">
        <button type="submit" class="btn btn-primary mb-2">Add New User</button>
    </div>
</div>
</form>
@endsection