当我现在使用laravel时,我必须在界面上显示一些数据。但是Laravel安装在计算机X上,而数据库位于远程的Y服务器上。为了进行测试,我试图显示一个表中的简单数据,即下表的第一个信息:
表站点:code_site varchar(255)主键
所以,这就是我做到的方式:
database.php
'mysql' => array(
'driver' => 'mysql',
'host' => '126.x.x.x',
'database' => 'MYNET',
'username' => 'mynet',
'password' => 'mypassword',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'port' => '3308',
),
型号/Site.php
<?php
class Site extends Eloquent {
<empty because i don't need relations for now> }
routes.php
Route::model('site', 'Site');
Route::get('liste_sites', array('uses' => 'HomeController@liste_sites', 'as' => 'liste_sites'));
liste_sites.blade.php
@for ($i = 0 ; $i < count($sites); $i ++)
<p>{{$sites[$i]->code_site}}</p>
@endfor
HomeController.php
public function liste_sites()
{
$sites = Site::select('code_site')
->orderBy('code_site','desc');
return View::make('liste_sites', array( 'sites' => $sites, 'which_actif' => 1));
}
但是我得到了错误
Cannot use object of type Illuminate\Database\Eloquent\Builder as array
是因为我的数据不可读吗?
更改此行:
$sites = Site::select('code_site')->orderBy('code_site','desc');
对此:
$sites = Site::select('code_site')->orderBy('code_site','desc')->get();
我很确定应该修复它。
基本上,在调用关闭函数之一之前->get()
,->paginate(10)
否则->first()
$ sites被视为Query,而不是Site
对象数组,因此不能在视图中使用。希望有帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句