| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <?php/** * User: Mike * Email: m@9026.com * Date: 2017/1/12 * Time: 17:52 */namespace App\Repositories\User\Criteria;use App\Repositories\Base\Criteria;use App\Repositories\Contracts\RepositoryInterface as Repository;class MultiWhere extends Criteria {    private $search = [];    /**     * MultiWhere constructor.     * @param array $search     *     */    public function __construct(array $search)    {        $this->search = $search;    }    /**    * @param $model    * @param RepositoryInterface $repository    * @return mixed    */    public function apply($model, Repository $repository)    {        if(isset($this->search['keyword']) && ! empty($this->search['keyword'])) {            $keywords = '%' . $this->search['keyword'] . '%';            $model = $model->where(function ($query) use ($keywords) {                $query->where('id'  , 'like', $keywords)                    ->orwhere('mobile', 'like', $keywords);            });        }        return $model;    }}
 |