Php 未在配置文件表中插入值
这是UserProfile模型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
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