laravel-从下拉菜单中删除重复项

标签 laravel

我有一个下拉菜单,其中列出了我的数据库中的信息。我的菜单中有 4 个条目,我特意将两个帖子命名为相同的名称,以查看它是否返回两个帖子。但是,它在我的下拉菜单中显示两次。我如何确保只显示一个值,但返回两个帖子。

Search.blade.php

@extends ('layouts.app')
@section('content')  

 {!! Form::open(['action' => 'SearchController@index', 'method' => 'GET']) !!}
 <div class="form-group">
<select name="distance" id="distance" class="form-control input-lg dynamic" data-dependent="state">
    <option value="">Choose an item</option>
    @foreach($posts as $post)
        <option value="{{ $post->id }}">{{ $post->distance }}</option>
    @endforeach
   </select>
   </div>
   <div class="form-group">
    {{ Form::Submit('submit', ['class' => 'btn btn-primary']) }}
  </div>
  @if($request)

            <p>{{ $request->title }}</p>
            <p>{{ $request->distance }}</p>
            <img src="{{$request->image}}" height = 200 width =200>

@endif

SearchController.php

 public function index(Request $request)
 {
   $posts = Post::all();

   $selectedPost = $request->has('distance')
       ? Post::find($request->distance)
       : null;

   return view('Pages.search', [
       'posts' => $posts,
       'request' => $selectedPost
   ]);

}

  public function store(Request $request)
  {
   // This will return all request data to your screen.
   return $request->all();
   return view('Pages.search');
   }

最佳答案

两种使用数据库或在 Laravel 集合上下文中执行的方法。

Sql方法

使用 dinstinct 关键字仅选择唯一的帖子。

 $posts = Post::distinct('title')->all();

Laravel 集合方法

在您的帖子中使用独特的收集方法。

 $posts = Post::all();

 $uniquePosts = $posts->unique('title');

SQL 方法更为优化,但有时使用 Laravel 集合方法很容易。

关于laravel-从下拉菜单中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60363643/

相关文章:

php - fatal error :使用 Guzzle 6 调用未定义的方法 GuzzleHttp\Client::request()

laravel - Ubuntu Laravel 上的 Gulp 安装错误

php - 我应该将我的 Laravel 4 应用程序更新到 Laravel 5 还是创建一个新的 Laravel 5 应用程序

php - 如何解决 laravel 迁移错误 "General error: 1005 Can' t 创建表”

php - SQLSTATE[42S22] : Column not found: 1054 Unknown column (Seems to be trying to use ID as column name)

带有 Laravel 的 PHP 应用服务器

php - Controller::detect() 在 Laravel 4 中未定义

php - Laravel - 选择 - 设置默认选项

jquery - 如何使用ajax将数据显示到表中

php - 验证失败时如何防止 Laravel 重定向?