本文整理汇总了PHP中Purchase::whereRaw方法的典型用法代码示例。如果您正苦于以下问题:PHP Purchase::whereRaw方法的具体用法?PHP Purchase::whereRaw怎么用?PHP Purchase::whereRaw使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Purchase
的用法示例。
在下文中一共展示了Purchase::whereRaw方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFilterByStatusArticleDates
public function getFilterByStatusArticleDates()
{
$TIPO_REMISION = self::TIPO_REMISION;
$title = 'Ventas';
$input = Input::all();
$idsPurchase = '0';
$amounts = array();
$articleName = $input['article'];
$article = Article::find($input['article']);
if (!empty($article)) {
$articleName = $article->name;
foreach ($article->purchaseItems as $pitem) {
$idsPurchase .= $pitem->purchase->id . ',';
$amounts[$pitem->purchase->id] = $pitem->amount;
}
}
$idsPurchase = trim($idsPurchase, ',');
$purchases = Purchase::whereRaw('id in (' . $idsPurchase . ')')->whereRaw('status = "' . $input['estado'] . '" AND (created_at BETWEEN "' . $input['fecha1'] . '" AND "' . $input['fecha2'] . '")')->orderBy('id', 'asc')->paginate(50);
$mensaje = 'Compras con estado <strong>' . $input['estado'] . '</strong> entre <strong>' . $input['fecha1'] . '</strong> y <strong>' . $input['fecha2'] . '</strong> que contienen el artículo <strong>' . $articleName . '</strong>';
return View::make('purchases.list')->with(compact('title', 'purchases', 'mensaje', 'input', 'amounts', 'mensaje', 'TIPO_REMISION'));
}
示例2: movimientos
/**
* Devuelve un arreglo con todos los movimientos de un artículo ordenados por fecha ascendente.
* Mezcla compras, ventas, daños y entregas inmediatas.
* Se excluyen las rotaciones porque se asume que todos los establecimientos están bajo el mismo nit.
* Se creó esta función para tener un log del artículo sin importar la sucursal.
*/
public function movimientos($fecha1, $fecha2)
{
//Arreglo que tendrá todos los movimientos
$movimientos = [];
//Inicio con las compras
$ids = '0';
$amounts = array();
//Obtiene las compras que tienen el artículo actual dentro de sus items
foreach ($this->purchaseItems as $item) {
$ids .= $item->purchase->id . ',';
$amounts[$item->purchase->id] = $item->amount;
}
//Convierte el string en un array
$ids = trim($ids, ',');
//Obtiene las compras del artículo actual
$purchases = Purchase::whereRaw('id in (' . $ids . ')')->whereRaw('created_at BETWEEN "' . $fecha1 . '" AND "' . $fecha2 . '"')->orderBy('created_at', 'asc')->get();
foreach ($purchases as $purchase) {
$movimientos[] = array('fecha' => $purchase->created_at, 'tipo' => 'compra', 'id' => $purchase->id, 'sucursal' => $purchase->branch()->first()->name, 'cantidad' => $amounts[$purchase->id], 'estado' => $purchase->status, 'comentario' => $purchase->comments, 'nota' => isset($purchase->purchaseStore()->orderBy('created_at', 'desc')->first()->comments) ? $purchase->purchaseStore()->orderBy('created_at', 'desc')->first()->comments : '');
}
//Inicio con las ventas
$ids = '0';
$amounts = array();
//Obtengo las ventas que tienen el artículo actual dentro de sus items
foreach ($this->saleItems as $item) {
$ids .= $item->sale->id . ',';
$amounts[$item->sale->id] = $item->amount;
}
//Convierte el string en un array
$ids = trim($ids, ',');
//Obtiene las ventas del artículo actual
$sales = Sale::whereRaw('id in (' . $ids . ')')->whereRaw('created_at BETWEEN "' . $fecha1 . '" AND "' . $fecha2 . '"')->orderBy('created_at', 'asc')->get();
foreach ($sales as $sale) {
$movimientos[] = array('fecha' => $sale->created_at, 'tipo' => 'venta', 'id' => $sale->id, 'sucursal' => $sale->branch()->first()->name, 'cantidad' => $amounts[$sale->id], 'estado' => $sale->status, 'comentario' => $sale->comments, 'nota' => isset($sale->saleStore()->orderBy('created_at', 'desc')->first()->comments) ? $sale->saleStore()->orderBy('created_at', 'desc')->first()->comments : '');
}
//Inicio con los daños
$ids = '0';
$amounts = array();
//Obtengo los daños que tienen el artículo actual dentro de sus items
foreach ($this->damageItems as $item) {
$ids .= $item->damage->id . ',';
$amounts[$item->damage->id] = $item->amount;
}
//Convierte el string en un array
$ids = trim($ids, ',');
//Obtiene los daños del artículo actual
$damages = Damage::whereRaw('id in (' . $ids . ')')->whereRaw('created_at BETWEEN "' . $fecha1 . '" AND "' . $fecha2 . '"')->orderBy('created_at', 'asc')->get();
foreach ($damages as $damage) {
$movimientos[] = array('fecha' => $damage->created_at, 'tipo' => 'daño', 'id' => $damage->id, 'sucursal' => $damage->branch()->first()->name, 'cantidad' => $amounts[$damage->id], 'estado' => $damage->status, 'comentario' => $damage->comments, 'nota' => isset($damage->damageStore()->orderBy('created_at', 'desc')->first()->comments) ? $damage->damageStore()->orderBy('created_at', 'desc')->first()->comments : '');
}
//Inicio con las entregas inmediatas
$ids = '0';
$amounts = array();
//Obtengo las entregas inmediatas que tienen el artículo actual dentro de sus items
foreach ($this->instantItems as $item) {
$ids .= $item->instant->id . ',';
$amounts[$item->instant->id] = $item->amount;
}
//Convierte el string en un array
$ids = trim($ids, ',');
//Obtiene las entregas inmediatas del artículo actual
$instants = Instant::whereRaw('id in (' . $ids . ')')->whereRaw('created_at BETWEEN "' . $fecha1 . '" AND "' . $fecha2 . '"')->orderBy('created_at', 'asc')->get();
foreach ($instants as $instant) {
$movimientos[] = array('fecha' => $instant->created_at, 'tipo' => 'entrega inmediata', 'id' => $instant->id, 'sucursal' => $instant->branch()->first()->name, 'cantidad' => $amounts[$instant->id], 'estado' => $instant->status, 'comentario' => $instant->comments, 'nota' => isset($instant->instantStore()->orderBy('created_at', 'desc')->first()->comments) ? $instant->instantStore()->orderBy('created_at', 'desc')->first()->comments : '');
}
//Ordena el arreglo por el primer elemento de los arreglos internos fecha
asort($movimientos);
return $movimientos;
}