/** * Display a listing of the resource. * e.g. curl -i --user a@aa.com:a1\! localhost:8000/api/v1/item\?user_id=1 * * @return Response */ public function index() { $validator = Validator::make(Input::all(), array('user_id' => 'numeric|required_with:first,last', 'name' => 'min:3', 'last' => 'numeric', 'first' => 'numeric')); if ($validator->fails()) { return Response::json(array('errors' => $validator->messages()), 400); } $userId = Input::get('user_id'); $itemName = Input::get('name'); $first = Input::get('first'); $last = Input::get('last'); if ($first && $last) { // Return an error if the user specified both a first and a last parameter return Response::json(array('errors' => "Cannot have both first and last parameters"), 400); } $query = Item::select('*'); if (is_numeric($userId)) { $query = $query->creator($userId); if (is_numeric($first)) { $query->orderBy('created_date', 'asc'); $query->take($first); } else { if (is_numeric($last)) { $query->orderBy('created_date', 'desc'); $query->take($last); } } } if (is_string($itemName)) { $query = $query->nameLike($itemName); } // TODO Pagination e.g. Item::Take(50)->skip(50)-get(); $items = $query->get(); return Response::json(array('items' => $items->toArray()), 200); }
/** * getQueryItem */ public function getQueryItem() { $code = Input::get('code'); $items = Item::select(array('id', 'code'))->where('code', 'LIKE', '%' . $code . '%')->get(); /*$data = array(); foreach ( $items as $item ): $data[] = $item->code; endforeach;*/ return Response::json($items->toArray()); }
</div> <form name='addItem' action='<?php echo $_SERVER['PHP_SELF']; ?> ' method='post'> <input type='hidden' name='form' value='addItem' /> <p> <label><?php echo lang("TYPE"); ?> </label> <?php echo Item::select(); ?> </p> <p> <label><?php echo lang("NAME"); ?> </label> <input type='text' class="form-control" name='name' /> </p> <p> <label><?php echo lang("PRICE"); ?>
/** * Get item lists by search for rendering result list. * * @return void */ public function getItemListsBySearch($conditions, $display_way, $perPage, $orderType, $order) { global $data; global $settings; $columns = array('*', DB::raw("items.id as id"), 'items.title_' . $data['language'] . ' as title', 'items.content_' . $data['language'] . ' as content', 'sub_categories.' . $data['language'] . ' as sub_category', 'categories.code as category_code', 'stations.' . $data['language'] . ' as station', 'areas.' . $data['language'] . ' as area', 'items.informations as informations', DB::raw("GROUP_CONCAT(photos.path SEPARATOR ',') as photos"), DB::raw("AVG(reviews.rate) as review_average")); if (isset($conditions['details'])) { foreach ($conditions['details'] as $key => $detail) { if ($data['item_informations'][$display_way][$key]['settings']['search_type'] == 'range') { $columns[] = DB::raw("CAST(common_schema.extract_json_value(items.informations, '/" . $key . "') AS UNSIGNED) as " . $key); } else { $columns[] = DB::raw("common_schema.extract_json_value(items.informations, '/" . $key . "') as " . $key); } } } if ($orderType != 'recent') { if ($orderType == 'price') { $columns[] = DB::raw("CAST(common_schema.extract_json_value(items.informations, '/" . $orderType . "') AS UNSIGNED) as " . $orderType); } else { $columns[] = DB::raw("common_schema.extract_json_value(items.informations, '/" . $orderType . "') as " . $orderType); } } $stmt = Item::select($columns)->leftJoin('customers', 'items.customer_id', '=', 'customers.id')->leftJoin('sub_categories', 'items.sub_category_id', '=', 'sub_categories.id')->leftJoin('categories', 'sub_categories.category_id', '=', 'categories.id')->leftJoin('stations', 'customers.station_id', '=', 'stations.id')->leftJoin('areas', 'customers.area_id', '=', 'areas.id')->leftJoin('photos', 'items.id', '=', 'photos.item_id')->leftJoin('reviews', 'items.id', '=', 'reviews.item_id')->where('customers.city_id', '=', $data['area']['id'])->where('categories.code', '=', $display_way); if ($conditions['search_by'] == 'station' && isset($conditions['station'])) { if ($conditions['station'] != '') { $stmt->whereIn('stations.code', $conditions['station']); } } elseif ($conditions['search_by'] == 'area' && isset($conditions['area'])) { if ($conditions['area'] != '') { $stmt->whereIn('areas.code', $conditions['area']); } } if (isset($conditions['sub_category'])) { $stmt->where('sub_categories.code', '=', $conditions['sub_category']); } if (isset($conditions['freeword'])) { $freewords = explode(' ', str_replace(' ', ' ', $conditions['freeword'])); foreach ($freewords as $key => $freeword) { $stmt->where(function ($query) use($data, $freeword) { $query->where('items.title_' . $data['language'], 'like', '%' . $freeword . '%'); $query->orWhere('items.content_' . $data['language'], 'like', '%' . $freeword . '%'); $query->orWhere('stations.' . $data['language'], 'like', '%' . $freeword . '%'); $query->orWhere('areas.' . $data['language'], 'like', '%' . $freeword . '%'); $query->orWhere('sub_categories.' . $data['language'], 'like', '%' . $freeword . '%'); }); } } if (isset($conditions['details'])) { foreach ($conditions['details'] as $key => $detail) { // Range if ($data['item_informations'][$display_way][$key]['settings']['search_type'] == 'range') { $stmt->whereBetween(DB::raw("CAST(common_schema.extract_json_value(items.informations, '/" . $key . "') AS UNSIGNED)"), array($detail['min'], $detail['max'])); } // Boolean if ($data['item_informations'][$display_way][$key]['settings']['search_type'] == 'boolean') { $stmt->where(DB::raw("common_schema.extract_json_value(items.informations, '/" . $key . "')"), '=', $detail); } } } $stmt->groupBy('items.id')->orderBy('customers.validity_flag', 'DESC'); if ($orderType == 'recent') { $stmt->orderBy('items.created_at', 'DESC'); } elseif ($orderType == 'rating') { $stmt->orderBy('review_average', 'DESC'); } else { $stmt->orderBy($orderType, $order); } //print($stmt->toSql()); //exit; $result = $stmt->paginate($perPage)->toArray(); $result['range'] = $this->makePaginationLinks($result); foreach ($result['data'] as $key => $row) { $result['data'][$key]['reviews'] = array(); foreach ($data['review_items'][$display_way] as $reviewItem) { $result['data'][$key]['reviews'][$reviewItem['code']] = array(); $result['data'][$key]['reviews'][$reviewItem['code']] = $this->getReviews($row['id'], $reviewItem['id']); } $result['data'][$key]['informations'] = json_decode($result['data'][$key]['informations'], true); } return $result; }
function show_form($errors = '') { if ($errors) { $error_text .= '<p class="error">'; $error_text .= implode('</p><p class="error">', $errors); $error_text .= '</p>'; } else { $error_text = ''; } echo $error_text; $item = new Item(MT_TABLE); if ($_GET['id']) { $row = $item->row($_GET['id']); } //print the html form ?> <div class="table"> <img src="img/bg-th-left.gif" width="8" height="7" alt="" class="left" /> <img src="img/bg-th-right.gif" width="7" height="7" alt="" class="right" /> <form method="POST" action="sub_item.php"> <table class="listing" cellpadding="0" cellspacing="0" id="tabella"> <thead> <tr> <th class="first" width="177">Name</th> <th class="last">Field</th> </tr> </thead> <tbody> <tr> <td class="first">Label</td> <td class="last"><input type="text" name="label" value="<?php echo $row['label']; ?> "></td> </tr> <tr> <td class="first">Link</td> <td class="last"><input type="text" name="link" value="<?php echo $row['link_url']; ?> "></td> </tr> <tr> <td class="first">Parent</td> <td class="last"> <select id="parent_id" name="parent_id"><option value="">Choose one..</option> <?php $item->select($_GET['parent_id']); ?> </select> </td> </tr> </tbody> </table> <input type="hidden" name="_check" value="1"/> <input type="hidden" name="_id" value="<?php echo $_GET['id']; ?> "/> <input type="submit" value="Go"> </form> <?php }
/** * Get Item list by food_category ID. * * @param int $id_category * @return array result */ public function getItemByCategory($id_category) { $items = Item::select(array('food_items.*', 'food_category.name'))->leftJoin('food_category', 'food_items.food_category_id', '=', 'food_category.id')->get(); return $items; }