Laravel搜索(可变数量)多个键

时间:2014-08-02 01:46:40

标签: laravel orm eloquent

我有一个中等复杂的搜索表单:

SEARCH FORM

我的需求是能够接受这些字段的任意组合并返回相应的Posting对象列表。如果没有退出Eloquent并有条件地编写SQL,我应该如何有条不紊地构建选择

if( !empty($library_type_id))  // query gets a library_type_id where clause added
if( !empty($province_id))  // query gets a province_id where clause added
etc.

表格布局比我早期的版本简化了:

Posting->profile->library_type_id
Posting->profile->org_name
Posting->profile->province_id 

过去一周我收到了一些建议但没有成功的建议。目前我有一个SearchServiceProvider,它包含以下几行:

<?php namespace BCLA\Search;

use Posting;
use Profile;
use Input;
use DB;

class Search {

public function posts()
{
    $type_id  = Input::get('type_id');
    $org_name = Input::get('org_name');
    $province_id = Input::get('province_id');
//    $city     = Input::get('city');
//    $keywords = Input::get('keywords');

    $profiles = DB::table('profiles')
                ->select(DB::raw('id'))
                ->where('library_type_id','=',$type_id)
                ->where('org_name','LIKE',"%$org_name%")
                ->where('province_id','=',$province_id)
                ->get();

    dd($profiles);

    $posts;
    return $posts;
}
} 

dd($profiles);我总是得到一个空对象,即使所有where子句都解析为有效值。我在数据库中只有少数记录,所以我确信我的搜索输入是有效的。

关于如何继续欣赏的任何想法。 - Erik

0 个答案:

没有答案