chatcontroller.php function returns variable to view:
public function getChat()
{
$message = chat_messages::all();
return View::make('home',compact($message));
}
this is my route:
Route::get('/getChat', array('as' => 'getChat','uses' => 'ChatController@getChat'));
this is my home.blade.php:
@extends('layouts.main')
@section('content')
<div class="container">
<h2>Welcome to Home Page!</h2>
<p> <a href="{{ URL::to('/logout') }}" > Logout </a></p>
<h1>Hello <span id="username">{{ Auth::user()->username }} </span>!</h1>
<div id="chat_window">
</div>
<input type="text" name="chat" class="typer" id="text" autofocus="true" onblur="notTyping()">
</div>
<ul>
@foreach($message as $msg)
<li>
{{ $msg['sender_username']," says: ",$msg['message'],"<br/>" }}
</li>
@endforeach
</ul>
<script src="{{ asset('js/jquery-2.1.3.min.js') }}"></script>
<script src="{{ asset('js/chat.js') }}"></script>
@stop
我正在尝试将select查询返回的结果发送到控制器进行查看。
当我从homecontroller.php执行此操作时,它工作正常。 如果我尝试从我定义的控制器传递它会给出错误消息:未定义的变量。
我使用了extends \ BaseController我还需要做什么来从视图中访问我的控制器变量。
如果可能,请建议一些教程。
答案 0 :(得分:1)
验证路线以确保它使用新控制器:
Route::get('user/profile', array('uses' => 'MyDefinedController@showProfile'));
答案 1 :(得分:1)
首先检查你的路线,正如Matei Mihai所说。 将数据传递到视图有两种不同的方法;
$items = Item::all();
// Option 1
return View::make('item.index', compact('items'));
// Option 2
return View::make('item.index')->with('items', $items); // same code as below
// Option 3
View::share('item.index', compact('items'));
return View::make('item.index);
答案 2 :(得分:0)
你也可以这样做:
$this->data['items'] = Item::all();
return View::make('item.index', $this->data);