2017-03-18 88 views
0

我最近開始學習Laravel 5.4,到目前爲止這麼好,但我在我的.blade文件中顯示最新數據時遇到問題 - 這就像Laravel有一些愚蠢的緩存看不到刀片變化Laravel 5.4

注:我使用共享的主機和PHP的工匠在服務器無法使用控制檯(但我可以在代碼中運行它們)

在路線我打電話控制器這樣

Route::get('/home', 'PostControlle[email protected]'); 

PostController.php

<?php 

namespace App\Http\Controllers; 


use Illuminate\Support\Facades\Auth; 
use Validator; 
use Session; 
use Illuminate\Http\Request; 
use Illuminate\Support\Facades\Hash; 
use Illuminate\Routing\Controller; 
use Illuminate\Validation\Rule; 
use Illuminate\Support\Facades\DB; 

class PostController extends Controller 
{ 

/** 
* Home page 
* 
* @return void 
*/ 
public function get(Request $request) 
    { 



     //$artisan = Artisan::call('view:clear'); -->failed attempt of clearing 

     $posts = DB::table('posts') 
     ->leftJoin('users','posts.id_user_post','=','users.id_user') 
     ->orderBy('id_post','desc') 
     ->get(); 

     if($request->session()->has('id')) 
     { 
      $options = DB::table('users') 
      ->select('avatar_url_user','cookies_user','settings_user') 
      ->where('id_user','=',$request->session()->get('id')) 
      ->get(); 

      return view('home',['posts' => $posts,'options' => $options]); 
     } 



     //$posts = DB::table('posts')->leftJoin('users','posts.id_user_post','=','users.id_user')->orderBy('id_post','desc')->get(); 
     // $user = DB::table('users')->where() 
     return view('home',['posts' => $posts,'options'=>0]); 

    } 

}

home.blade.php

... 
{{ $options }} 
... 

,如果我將其更改爲{{ 「東西」}}就會顯示 「東西」如果我將其更改爲$選項,那麼它仍然會保持「某些」

我使用Google搜索解決方案,並且在此處發現了一些問題堆棧溢出,但他們沒有解決我的問題(或過時)

所以,如果有人能向我解釋如何解決這個問題一步一步,將是巨大

+1

嘗試CTRL + f5,看看數據是否改變。我有與CSS修改相同的問題,這對我的作品 – NicuVlad

+0

不工作對我來說不幸 – eiipaw

回答

0

您的if語句需要一個「別人」 。現在發生的事情是,條件是否成立並不重要,你仍然會看到相同的觀點(這是最後一個觀點)。但這只是我認爲的錯誤之一。如果您正在使用 - > get(),則需要在視圖中聲明foreach($ options as $ option)... @endforeach。如果你期望只有一行(或laravel所說的模型),你可以說 - > first()。

祝你好運

+0

我忘了提及,我正在使用foreach – eiipaw

+0

你能否也添加完整的代碼?與foreach循環 – NicuVlad