我正在尝试使用Laravel 4中的数据库结果填充下拉菜单.我对Laravel非常新.这实际上是我的第一个网站,我正在学习.所以,请告诉我,如果我使用了错误的术语或没有足够的信息.
我有一个公司信息数据库,我需要用户能够从下拉列表中选择一家公司.或者如果公司不在数据库中添加它.
对于选择菜单,它需要像这样:
[公司名称结果]
我在我的控制器中使用此代码:
$companies = RecordCompany::get();
$company_selector = array();
foreach($companies as $company) {
$company_selector[$company->id] = $company->id;
$company_selector[$company->company_name] = $company->company_name;
}
return View::make('admin.record_new', array('company_selector' => $company_selector));
Run Code Online (Sandbox Code Playgroud)
这就是我的看法:
@if(count($client_selector)>0)
{{ Form::select('company_id', $company_selector, array_values($company_selector)[0]) }}
@endif
Run Code Online (Sandbox Code Playgroud)
免责声明:我在网上找到了这个代码.
首先,我不明白它将如何填充值和选项文本而不告诉它在何处放置数据.
其次,回来的错误是出乎意料的.当我拿出[0]表单代码时,它告诉我那$company_selector是undefined.
我在这做错了什么?
当我尝试发送密码重置电子邮件时,我收到以下错误:
Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required"
Run Code Online (Sandbox Code Playgroud)
我不确定这里有什么问题.我看过Stack Overflow和Laracasts并发现了类似的问题.我尝试了两种不同的电子邮件地址和服务器.但是我得到了同样的错误.
这是我的.env文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=xx@gmail.com
MAIL_PASSWORD=[password]
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)
这是我的mail.php文件:
'driver' => env('MAIL_DRIVER'),
'host' => env('MAIL_HOST'),
'port' => env('MAIL_PORT'),
'from' => [
'address' => 'xx@gmail.com',
'name' => 'XX',
],
'encryption' => env('MAIL_ENCRYPTION'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
Run Code Online (Sandbox Code Playgroud)
我有什么想法在这里错了吗?
我正在完全按照文档进行操作。
https://github.com/laravel/socialite和https://laravel.com/docs/5.1/authentication#social-authentication
我已经在 Facebook 上创建了我的应用程序并且一切正常。当我使用 Facebook 按钮单击登录时,它会授权该应用程序并将我带回我的网站。但是,它不会显示我已登录。如果我使用 dd() 而不是下面的重定向,我会从我的 Facebook 帐户中获取所有数据。但是只有登录用户才能看到的页面是不可见的。
这是我的控制器:
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
public function handleProviderCallback()
{
$user = Socialite::driver('facebook')->user();
return redirect('my-profile')
->with('message', 'You have signed in with Facebook.');
}
Run Code Online (Sandbox Code Playgroud)
以下是我的路线:
Route::get('login/facebook', 'Auth\AuthController@redirectToProvider');
Route::get('login/facebook/callback', 'Auth\AuthController@handleProviderCallback');
Run Code Online (Sandbox Code Playgroud)
Socialite 已正确安装在 composer.json 中。这些类在 config/app.php 中,我的 FB 应用程序的 ID 在 config/services.php 中。
关于为什么它不起作用的任何想法?