diff --git a/browser.php b/browser.php index 7c93009..d676b78 100644 --- a/browser.php +++ b/browser.php @@ -15,14 +15,23 @@ $capsule->addConnection([ $capsule->setAsGlobal(); $capsule->bootEloquent(); echo ''; -echo ""; if (isset($_GET['product_id'])) { $product = Product::with('price')->find($_GET['product_id']); + echo "back
"; echo " - + - "; + "; + echo "
$product->name$product->name $product->name $product->subTitlelinklink
"; + echo " + + + + + + + "; /** @var Price $price */ foreach ($product->price as $price) { echo " @@ -32,16 +41,39 @@ if (isset($_GET['product_id'])) { "; } -} else { - $products = Product::with('price')->get(); + echo "
pricelowest product price in 30 daysstandard price
$price->created_at
"; +} +if (isset($_GET['category'])) { + $products = Product::with('price')->where('categories', 'LIKE', '%'.$_GET['category'].'%')->get(); + echo ""; foreach ($products as $product) { echo " - - + "; } + echo "
$product->name $product->name$product->subTitlelink$product->subTitlelink {$product->price->last()->price}
"; +} +if (!isset($_GET['product_id']) && !isset($_GET['category'])) { + $products = Product::with('price')->get(); + echo ""; + foreach ($products as $product) { + echo " + + + + +"; + } + echo "
$product->name$product->name$product->subTitlelink{$product->price->last()->price}
"; } -echo ""; \ No newline at end of file diff --git a/src/Models/Product.php b/src/Models/Product.php index c477d0b..c332e02 100644 --- a/src/Models/Product.php +++ b/src/Models/Product.php @@ -2,6 +2,7 @@ namespace Krzysiej\RyobiCrawler\Models; +use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -22,8 +23,17 @@ class Product extends Model { public $timestamps = true; public $fillable = ['skuID']; + public function price(): HasMany { return $this->hasMany(Price::class); } + + protected function categories(): Attribute + { + return Attribute::make( + get: fn(string $value) => array_reverse(json_decode($value, 1)), + ); + } + } \ No newline at end of file