【问题标题】:Returning full text search results返回全文搜索结果
【发布时间】:2014-12-30 11:28:00
【问题描述】:

我正在学习本教程:

http://creative-punch.net/2013/12/implementing-laravel-4-full-text-search

我已经通过适应我自己的项目来遵循它我的问题是如何显示我查询的结果谢谢

代码如下:查看

<!doctype html>
<html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>Laravel PHP Framework</title>
    <style>
      @import url(//fonts.googleapis.com/css?family=Lato:700);

      body {
        margin:0;
        font-family:'Lato', sans-serif;
        text-align:center;
        color: #999;
    }

    .welcome {
        width: 300px;
        height: 200px;
        position: absolute;
        left: 50%;
        top: 50%;
        margin-left: -150px;
        margin-top: -100px;
    }

    a, a:visited {
        text-decoration:none;
    }

    h1 {
        font-size: 32px;
        margin: 16px 0 0 0;
    }
  </style>
 </head>
 <body>


 <div class="search">
   {{ Form::model(null, array('route' => array('ec2_instance.search'))) }}
    {{ Form::text('query', null, array( 'placeholder' => 'Search query...' )) }}
    {{ Form::submit('Search') }}
    {{ Form::close() }}


 </div>




 </body>
 </html>

我的控制器:

 <?php 

 class PostsController extends BaseController {

public function postSearch(){
    $q = Input::get('query');

   $posts = ec2_instance::whereRaw("MATCH(instance_id,instance_type,availability_zone, status_checks,alarm_status, public_dns, key_name ) AGAINST(? IN BOOLEAN MODE)", 
        array($q))->get();

    return View::make('ec2_instance.search', compact('ec2_instance'));

}
}
?>

我的路线:

Route::get('/', function()
 {
  return View::make('search');
  });

 Route::post(
   'ec2_instance/search', 
      array(
    '   as' => 'ec2_instance.search', 
        'uses' => 'PostsController@postSearch'
   )
  );

 ?>

【问题讨论】:

  • 请告诉我们你有什么。我们需要查看您的代码(即使它与教程几乎相同)
  • 没有问题代码添加谢谢

标签: php html mysql laravel


【解决方案1】:

好的,我将在这里做一些假设,因此您可能需要稍微修改代码以满足您的需求...

首先,您当然不需要将ec2_instance 传递给视图,而是传递结果$posts

return View::make('ec2_instance.search', compact('posts'));

现在,由于您的结果将是一组帖子,因此您需要在视图中对其进行循环:

ec2_instance.search

@foreach($posts as $post)
    {{-- display properties here --}}
    {{ $post->key_name }}
    {{-- etc... --}}
@endforeach

【讨论】:

  • 非常感谢反馈,但是我仍然遇到问题,主要是因为在我看来,我还是一个完整的新手,我想根据上面的 foreach 循环显示结果,现在我的 $posts 变量位于我的帖子控制器中类当我尝试引用它时它不起作用,即'@foreach(PostsController::$posts as $post)' 我知道它与使用关键字静态有关,但似乎无法弄清楚
  • 要在视图中使用变量,您需要传递它。这就是您在使用View::make 中的第二个参数时执行的操作,如上面的代码所示。然后你可以像 $posts 一样使用它(也如上所示)
  • 我同意应该可以说我在我的观点中得到了“未定义的变量:帖子”
  • 而你正在这样做:return View::make('ec2_instance.search', compact('posts'));?
  • 是的,我在控制器中有这条线,然后在我的视图中 ec2_instance.blade.php 我有循环来详细说明我有 2 个视图,一个用于获取 search.blade.php 并返回到 ec2_instance .blade.php
猜你喜欢
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 2019-08-20
  • 2015-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多