如何解决绑定以在视图中获取 属性 名称的问题
How to fix tying to get property name in view problem
我正在尝试将 laravel 连接到社交名流 facebook 并且 GitHub 一切正常,但在连接到社交网络应用程序结束时我想 return auth.register 查看来自社交提供商的数据
我已经尝试将其作为数组发送并 JSON 到视图,但仍然无济于事
从社交提供者获取数据的功能
public function redirectToProvider($social)
{
return Socialite::driver($social)->redirect();
// return dd($social);
// return $social;
}
处理结果的函数
public function handleProviderCallback($social)
{
//$social = 'github';
$gituser = Socialite::driver($social)->user();
$user = User::where('provider_id', $gituser->getEmail())->first();
if($user){
\Auth::login($user, true);
return redirect($this->redirectTo);
}else{
'nemail' => $gituser->getemail()]);
return view('auth.register')->with('data', ['name' => $gituser->getName(), 'email' => $gituser->getemail()]);
}
}
auth.register 查看
<div class="col-md-6">
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }} {{$data->name}}" required autocomplete="name" autofocus>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }} {{$data->email}} " required autocomplete="email">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
我希望结果是来自社交提供的数据被插入到我的 auth.register 表单字段(姓名、电子邮件)
错误在 {{$data->name}}
中,其中 data
不是 object
,这在您将数据作为
传递时是合乎逻辑的
return view('auth.register')->with('data', ['name' => $gituser->getName(), 'email' => $gituser->getemail()]);
这是一个 array
符号。
要访问数组,您需要 []
:{{ data['name'] }}
您正在用 array
填充 $data
变量并将其作为 object
访问。
将 blade 中的 {{$data->name}}
更改为 {{$data['name']}}
或修改$data
变量。
return view('auth.register')->with('data', (object)['name' => $gituser->getName(), 'email' => $gituser->getemail()]);
我正在尝试将 laravel 连接到社交名流 facebook 并且 GitHub 一切正常,但在连接到社交网络应用程序结束时我想 return auth.register 查看来自社交提供商的数据
我已经尝试将其作为数组发送并 JSON 到视图,但仍然无济于事
从社交提供者获取数据的功能
public function redirectToProvider($social)
{
return Socialite::driver($social)->redirect();
// return dd($social);
// return $social;
}
处理结果的函数
public function handleProviderCallback($social)
{
//$social = 'github';
$gituser = Socialite::driver($social)->user();
$user = User::where('provider_id', $gituser->getEmail())->first();
if($user){
\Auth::login($user, true);
return redirect($this->redirectTo);
}else{
'nemail' => $gituser->getemail()]);
return view('auth.register')->with('data', ['name' => $gituser->getName(), 'email' => $gituser->getemail()]);
}
}
auth.register 查看
<div class="col-md-6">
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }} {{$data->name}}" required autocomplete="name" autofocus>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }} {{$data->email}} " required autocomplete="email">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
我希望结果是来自社交提供的数据被插入到我的 auth.register 表单字段(姓名、电子邮件)
错误在 {{$data->name}}
中,其中 data
不是 object
,这在您将数据作为
return view('auth.register')->with('data', ['name' => $gituser->getName(), 'email' => $gituser->getemail()]);
这是一个 array
符号。
要访问数组,您需要 []
:{{ data['name'] }}
您正在用 array
填充 $data
变量并将其作为 object
访问。
将 blade 中的 {{$data->name}}
更改为 {{$data['name']}}
或修改$data
变量。
return view('auth.register')->with('data', (object)['name' => $gituser->getName(), 'email' => $gituser->getemail()]);