mercredi 18 janvier 2017

Make a filter by user firstname or lastname or company name?

I have this query:

  public function getResultCommentsWithArticle($comment,$name,$article_title,$orderBy){
        $default_language = Languages::where('default',1)->first();
        $default_language_id = $default_language->id;
        $comments = ArticleComments::orderBy($orderBy,'desc')
                    ->with(['user', 'article'])
                    ->whereHas('article.translations', function($q)
                        use($default_language_id,$article_title) {

                        $q->where('language_id', $default_language_id)
                        ->where('title','like','%' . $article_title . '%');
                    })->where('comment','like','%' . $comment . '%')->paginate(10);

        return $comments;
      }

I have this relationships:

user:

  public function personal_user()
    {
        return $this->morphOne('App\Models\PersonalUser', 'userable');
    }

    public function business_user()
    {
        return $this->morphOne('App\Models\BusinessUser', 'userable');
    }

When i get text name from $name, i want to check if that text exist in user->personal_user->first_name OR in user->personal_user->last_name OR in user->business_user->company_name, because im making a filter. Any suggestion how can i do that?



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2jvGVaR
via IFTTT

Aucun commentaire:

Enregistrer un commentaire