【问题标题】:Laravel: Retrieve data from DB and diplay in ViewLaravel:从数据库中检索数据并显示在视图中
【发布时间】:2017-07-31 16:29:23
【问题描述】:

我的代码中有一个错误,在主页中显示数据时显示问题

控制器

class Annonce_indexController extends Controller
{
    public function index()
    {
        $annonce_residentiel = Annonce_residentiel::all();   
        return view('/' , compact('annonce_residentiel'));
    }
}

路线

  Route::get('/index','Annonce_indexController@index');

刀片视图

{{  $annonce_residentiel->prix  }}

它说 $annonce_residentiel 是未定义的

编辑: 问题是我有两条通往同一视图的路线:

Route::get('/','Admin\Annonce_indexController@index');
Route::get('/',array('as' =>'viewville','uses'=>'VilleController@index'));

解决方案 更改第二条发帖路线!

Route::get('/','Admin\Annonce_indexController@index');
Route::post('/',array('as' =>'viewville','uses'=>'VilleController@index'));

【问题讨论】:

  • 如果你在控制器内部dd($annonce_residentiel)会发生什么?

标签: laravel data-retrieval


【解决方案1】:

控制器

   class Annonce_indexController extends Controller
    {
        public function index()
        {
            $annonce_residentiel = Annonce_residentiel::first();   
            return view('/' , compact('annonce_residentiel'));
        }
    }

刀片视图

{{  $annonce_residentiel->prix  }}

【讨论】:

  • 我发现问题在于我有两条路由到同一个视图 "index" Route::get('/','Admin\Annonce_indexController@index'); Route::get('/',array('as' =>'viewville','uses'=>'VilleController@index'));
【解决方案2】:

$annonce_residentiel 是一个对象而不是变量,因此您不能只调用它并期望它弹出一个值。仅出于演示目的并了解其工作原理,请在您的视图中尝试以下代码。

@foreach($annonce_residentiel as $data)
    {{ $data->prix }}
@endforeach 

【讨论】:

  • 同样,我的表中只有 1 行,所以不需要 foreach
  • 即使您还有一行,它也会将其作为对象获取
  • 问题是 $annonce_residentiel 变量没有传递给视图“它没有定义”。不是我想将数组转换为字符串
  • 未定义变量:annonce_residentiel
  • 你可以试试 return View::make('/')->with(compact('annonce_residentiel'))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多