当前位置: 首页>>代码示例>>PHP>>正文


PHP Categorie::whereIn方法代码示例

本文整理汇总了PHP中Categorie::whereIn方法的典型用法代码示例。如果您正苦于以下问题:PHP Categorie::whereIn方法的具体用法?PHP Categorie::whereIn怎么用?PHP Categorie::whereIn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Categorie的用法示例。


在下文中一共展示了Categorie::whereIn方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: show

 /**
  * Display the specified resource.
  * GET /recettes/{id}
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $recette = Recette::find($id);
     // On ajoute le pays pour la recette.
     $recette['country'] = array();
     $countries = Country::where('id', '=', $recette['idPays'])->firstOrFail();
     $recette['country'] = $countries->nom;
     // On ajoute les auteurs pour la recette.
     $recette['authors'] = array();
     $listIdauthors = DB::table('link_recette_author')->where('idRecette', '=', $recette['id'])->lists('idAutheur');
     // On recherche les id de tous les auteurs de la recette
     $autheurs = Autheur::whereIn('id', $listIdauthors)->lists('nom');
     // on recherche tous les noms des auteurs de la recette.
     $recette['authors'] = $autheurs;
     // On ajoute les catégories pour la recette.
     $recette['categories'] = array();
     $listIdcategories = DB::table('link_recette_categorie')->where('idRecette', '=', $recette['id'])->lists('idCategorie');
     $categories = Categorie::whereIn('id', $listIdcategories)->lists('nom');
     $recette['categories'] = $categories;
     // On ajoute les photos pour chaque recette.
     $recette['photos'] = array();
     $listIdphotos = DB::table('link_recette_photo')->where('idRecette', '=', $recette['id'])->lists('idPhoto');
     $photos = Photo::whereIn('id', $listIdphotos)->lists('nom');
     $recette['photos'] = $photos;
     // On ajoute la liste de chaque categorie d'ingredients pour chaque recette.
     $recette['ingredients'] = array();
     $listIdCategorieIngred = DB::table('link_recette_ingred')->where('idRecette', '=', $recette['id'])->distinct()->lists('idCategorie');
     $listIdIngred = DB::table('link_recette_ingred')->where('idRecette', '=', $recette['id'])->lists('idIngredient');
     $listQuantIngred = DB::table('link_recette_ingred')->where('idRecette', '=', $recette['id'])->lists('idQuantite');
     $listOrdreIngred = DB::table('link_recette_ingred')->where('idRecette', '=', $recette['id'])->lists('Ordre');
     // On met dans un tableau le nombre d'ingredient par categorie
     $listNbrIngrParCat = array();
     foreach ($listIdCategorieIngred as $idCatIngre) {
         $listNbrIngrParCat[sizeof($listNbrIngrParCat)] = DB::table('link_recette_ingred')->where('idRecette', '=', $recette['id'])->where('idCategorie', '=', $idCatIngre)->distinct()->count();
     }
     //On récupère le nom des catégories.
     $nomsCatIngredients = CategorieIngredient::whereIn('id', $listIdCategorieIngred)->lists('nom');
     $ingredients = array();
     foreach ($listIdIngred as $idIngredCurrent) {
         $ing = Ingredient::where('id', '=', $idIngredCurrent)->firstOrFail();
         array_push($ingredients, $ing->nom);
     }
     $ingredientsFinal = array();
     for ($j = 0; $j < sizeof($listIdCategorieIngred); $j++) {
         $ingredientsArray = array();
         $offset = 0;
         // on a créé un décalage pour parcourir la lsite des ingrédients.
         if ($j != 0) {
             $offset = $listNbrIngrParCat[$j - 1];
         }
         for ($i = 0 + $offset; $i < $listNbrIngrParCat[$j] + $offset; $i++) {
             $ingredientsArray[$i] = array('Ordre' => $listOrdreIngred[$i], 'Ingredient' => $ingredients[$i], 'lien' => "");
         }
         $ingredientsFinal[$j] = array('Titre' => $nomsCatIngredients[$j], 'DetailsIngre' => $ingredientsArray);
     }
     $recette['ingredients'] = $ingredientsFinal;
     // On ajoute la liste de chaque categorie de préparations pour la recette.
     $recette['preparations'] = array();
     $listIdCategoriePrepa = DB::table('link_recette_preparation')->where('idRecette', '=', $recette['id'])->distinct()->lists('idCatPrepa');
     $listIdPhrasePrepa = DB::table('link_recette_preparation')->where('idRecette', '=', $recette['id'])->lists('idPhrasePrepa');
     $listOrdrePhrase = DB::table('link_recette_preparation')->where('idRecette', '=', $recette['id'])->lists('Ordre');
     // On met dans un tableau le nombre de phrase de préparation par categorie
     $listNbrPhraseParCat = array();
     foreach ($listIdCategoriePrepa as $idCatPrepa) {
         $listNbrPhraseParCat[sizeof($listNbrPhraseParCat)] = DB::table('link_recette_preparation')->where('idRecette', '=', $recette['id'])->where('idCatPrepa', '=', $idCatPrepa)->distinct()->count();
     }
     //On récupère le nom des catégories de préparation.
     $nomsCatPhrase = CategoriePrepa::whereIn('id', $listIdPhrasePrepa)->lists('nom');
     $phrases = array();
     foreach ($listIdPhrasePrepa as $idPhrasePrepaCurrent) {
         $phrase = PhrasePrepa::where('id', '=', $idPhrasePrepaCurrent)->firstOrFail();
         array_push($phrases, $phrase->phrase);
     }
     $phrasesFinal = array();
     for ($j = 0; $j < sizeof($listIdCategoriePrepa); $j++) {
         $phrasesArray = array();
         $offset = 0;
         // on a créé un décalage pour parcourir la lsite des ingrédients.
         if ($j != 0) {
             $offset = $listNbrPhraseParCat[$j - 1];
         }
         for ($i = 0 + $offset; $i < $listNbrPhraseParCat[$j] + $offset; $i++) {
             $phrasesArray[$i] = array('Ordre' => $listOrdrePhrase[$i], 'Phrase' => $phrases[$i]);
         }
         $phrasesFinal[$j] = array('Titre' => $nomsCatPhrase[$j], 'Phrases' => $phrasesArray);
     }
     $recette['preparations'] = $phrasesFinal;
     return Response::json($recette);
 }
开发者ID:Defoncesko,项目名称:iamhungry,代码行数:96,代码来源:RecettesController.php


注:本文中的Categorie::whereIn方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。