/**
 * Basic select to retrieve Article data.
      * desc Item;
     +--------------------+--------------+------+-----+---------+-------+
     | Field              | Type         | Null | Key | Default | Extra |
     +--------------------+--------------+------+-----+---------+-------+
     | objectID           | bigint(20)   | NO   | PRI | NULL    |       |
     | Sku_Number         | varchar(85)  | YES  |     | NULL    |       |
     | Client_Code        | varchar(85)  | YES  | MUL | NULL    |       |
     | Client_SKU         | varchar(85)  | YES  | MUL | NULL    |       |
     | Description        | varchar(255) | YES  |     | NULL    |       |
     | UOM                | varchar(85)  | YES  |     | NULL    |       |
     | Per_Unit_Weight    | varchar(85)  | YES  |     | NULL    |       |
     | Retail_Price       | varchar(85)  | YES  |     | NULL    |       |
     | Case_Pack          | varchar(85)  | YES  |     | NULL    |       |
     | UPC                | varchar(85)  | YES  | MUL | NULL    |       |
     | Colour             | varchar(85)  | YES  |     | NULL    |       |
     | Zone               | varchar(85)  | YES  |     | NULL    |       |
     | Delivery_Number    | varchar(85)  | YES  | MUL | NULL    |       |
     | PO_Number          | varchar(85)  | YES  | MUL | NULL    |       |
     | Description_2      | varchar(255) | YES  |     | NULL    |       |
     | Vendor_Item_Number | varchar(85)  | YES  |     | NULL    |       |
     | Cases_Ordered      | varchar(85)  | YES  |     | NULL    |       |
     | Master_Pack_Cube   | varchar(85)  | YES  |     | NULL    |       |
     | Master_Pack_Weight | varchar(85)  | YES  |     | NULL    |       |
     | Total_Weight       | varchar(85)  | YES  |     | NULL    |       |
     | Total_Cube         | varchar(85)  | YES  |     | NULL    |       |
     +--------------------+--------------+------+-----+---------+-------+
     21 rows in set (0.00 sec)
 * @return mixed
 */
 private function articleSelect()
 {
     // using the Eloquent model
     return Item::from('Item as Article')->select('Article.objectID', 'Article.Sku_Number', 'Article.Client_Code', 'Article.Client_SKU', 'Article.Description', 'Article.UOM', 'Article.Per_Unit_Weight', 'Article.Retail_Price', 'Article.Case_Pack', 'Article.UPC', 'Article.Colour', 'Article.Zone', 'Article.Delivery_Number', 'Article.PO_Number', 'Article.Description_2', 'Article.Vendor_Item_Number', 'Article.Cases_Ordered', 'Article.Master_Pack_Cube', 'Article.Master_Pack_Weight', 'Article.Total_Weight', 'Article.Total_Cube')->join('itemKit', 'itemKit.parentID', '=', 'Article.objectID')->distinct();
 }
 private function findAdditional($container)
 {
     /*
      * Here we want to change the contents within the $container, not the $container,
      * so retrieve/setup $items as an array_expression holding those contents
      */
     $items = $container;
     // if $container is a paginator
     if (is_a($container, 'Illuminate\\Pagination\\LengthAwarePaginator')) {
         $items = $container->items();
     } elseif (!is_array($container) && !is_a($container, 'Illuminate\\Support\\Collection')) {
         $items = array($container);
     }
     //dd(__METHOD__."(".__LINE__.")",compact('container','items'));
     //Log::debug(__METHOD__."(".__LINE__."):  container class: ".get_class($container));
     //Log::debug(__METHOD__."(".__LINE__."):  items class: ".(is_array($items) ? "array(".count($items).")" : get_class($items)));
     foreach ($items as $upc) {
         if (isset($upc)) {
             // could be null if find($id) did not find an article
             /*
             * Add these fields from Item_Additional
                | rework             | varchar(85)  | YES  |     | NULL    |       |
             */
             $additionals = ItemAdditional::where('objectID', $upc->objectID)->get();
             foreach ($additionals as $additional) {
                 $upc->{$additional}['Name'] = $additional['Value'];
             }
             /*
             * Add these fields from Article
                | parentID           | varchar(85)  | YES  |     | NULL    |       |
                | parentSKU          | varchar(85)  | YES  |     | NULL    |       |
                | Quantity           | bigint(20)   | YES  |     | NULL    |       |
             */
             $articles = Item::from('Item as Article')->join('itemKit', 'itemKit.parentID', '=', 'Article.objectID')->select('Article.objectID', 'Article.Client_SKU', 'itemKit.Quantity')->distinct()->where('itemKit.objectID', '=', $upc->objectID)->get();
             foreach ($articles as $article) {
                 $parents = $upc->parents;
                 $parents[$article->objectID] = (object) ['parentID' => $article->objectID, 'parentSKU' => $article->Client_SKU, 'Quantity' => $article->Quantity];
                 $upc->parents = $parents;
             }
             //dd(__METHOD__.'('.__LINE__.')',compact('container','items','upc','additionals','articles','parents'));
         }
     }
     return $container;
 }