Как добавить условие на контроллер рекветов в Laravl? - PullRequest
0 голосов
/ 10 марта 2020
 if ($id_ville != null) {
        $queryCondition .= "where('annonces.id_ville','=',$id_ville)";
        }
        if ($id_marque != null) {
            if ($queryCondition != null) {
                $queryCondition .= "->where";
            } else {
                $queryCondition .= "where";
            }
            $queryCondition .= "('annonces.id_marque','=',$id_marque)";
        }
        if ($id_modele != null) {
            if ($queryCondition != null) {
                $queryCondition .= "->where";
            } else {
                $queryCondition .= "where ";
            }
            $queryCondition .= " ('annonces.id_modele','=',$id_modele)";
        }

        $annonce = Annonce::select('*', 'annonces.id as idA', 'annonces.created_at as createdAt')
            ->join('marques', 'marques.id', '=', 'id_marque')
            ->join('modeles', 'modeles.id', '=', 'id_modele')
            ->join('villes', 'villes.id', '=', 'id_ville')
            ->join('boitevitesses', 'boitevitesses.id', '=', 'id_boite')
            ->join('annees', 'annees.id', '=', 'id_annee')
            ->join('typecarburants', 'typecarburants.id', '=', 'id_type')
            ->$queryCondition->paginate(12);

**, пожалуйста, помогите мне, это работает в php, но в laravel не работает, у меня есть эта проблема Свойство [where('annonces.id_ville','=',1)] does not exist в экземпляре Eloquent Builder. **

Ответы [ 3 ]

1 голос
/ 10 марта 2020
$annonce = Annonce::select(......

if ($id_ville != null) {
    $annonce->where(......);
}
if (...) {
    $annonce->where(.....);
}

$announce->paginate(12);
0 голосов
/ 10 марта 2020

Попробуйте, как показано ниже.

$annonce = Annonce::select('*', 'annonces.id as idA', 'annonces.created_at as createdAt')
          ->join('marques', 'marques.id', '=', 'id_marque')
          ->join('modeles', 'modeles.id', '=','id_modele')
          ->join('villes', 'villes.id', '=', 'id_ville')
          ->join('boitevitesses','boitevitesses.id', '=', 'id_boite')
          ->join('annees', 'annees.id', '=', 'id_annee')
          ->join('typecarburants', 'typecarburants.id', '=', 'id_type');

if($id_ville != null) {
    $annonce = $annonce->where('annonces.id_ville',$id_ville);
}

if($id_marque != null) {
    $annonce = $annonce->where('annonces.id_marque',$id_marque);
}

if($id_modele != null) {
    $annonce = $annonce->where('annonces.id_modele',$id_modele);
}

$annonce =  $annonce->paginate(12);
0 голосов
/ 10 марта 2020

создать дБ instace из модели

$dbInstace = Annonce::select('*', 'annonces.id as idA', 'annonces.created_at as createdAt')
            ->join('marques', 'marques.id', '=', 'id_marque')
            ->join('modeles', 'modeles.id', '=', 'id_modele')
            ->join('villes', 'villes.id', '=', 'id_ville')
            ->join('boitevitesses', 'boitevitesses.id', '=', 'id_boite')
            ->join('annees', 'annees.id', '=', 'id_annee')
            ->join('typecarburants', 'typecarburants.id', '=', 'id_type');

как тогда

добавить условие

 if ($id_ville != null) {
            $dbInstace->where('annonces.id_ville','=',$id_ville);
        }

$announce = $dbInstace->paginate(12);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...