我最近开始学习Laravel 5.4并且到目前为止一直很好,但是我在.blade文件中显示最新数据时遇到了问题 - 它就像Laravel有某种愚蠢的缓存
注意:我使用共享托管,无法在服务器上使用控制台进行php工匠(但我可以在代码中运行它们)
在路线中我像这样呼叫控制器
Route::get('/home', 'PostController@get');
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 }}
...
如果我把它改为{{&#34;某事&#34;它会显示&#34;某些东西&#34;如果我将其更改为$ options,那么它仍将保留&#34;某些东西&#34;
我搜索了一个解决方案,我确实在Stack Overflow上找到了一些问题,但没有一个问题解决了我的问题(或者已经过时了)
因此,如果有人能够向我解释如何逐步解决这个问题,那就很好了
答案 0 :(得分:0)
你的if语句需要“else”。现在发生的是,如果条件为真,你仍然会看到相同的视图(这是最后一个视图)并不重要。但这只是我认为的错误之一。如果你正在使用 - &gt; get(),你需要在视图中说foreach($ options as $ option)... @endforeach。如果你只想要一行(或模型作为laravel放置它)你可以说 - &gt; first()。
祝你好运