8000 add traits · JAVI-CC/Laravel-API-Server@f2596eb · GitHub
[go: up one dir, main page]

Skip to content

Commit f2596eb

Browse files
committed
add traits
1 parent d0da651 commit f2596eb

File tree

5 files changed

+36
-17
lines changed

5 files changed

+36
-17
lines changed

app/Models/Desarrolladora.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
namespace App\Models;
44

55
use Illuminate\Database\Eloquent\Model;
6+
use App\Traits\HasFind;
7+
use App\Traits\HasSlug;
68

79
/**
810
* @OA\Schema(
@@ -11,8 +13,10 @@
1113
* @OA\Property(property="slug", type="string", description="Url amigable del nombre de la desarrolladora", example="test123-studios")
1214
* )
1315
**/
14-
class Desarrolladora extends Base
16+
class Desarrolladora extends Model
1517
{
18+
use HasFind, HasSlug;
19+
1620
public $timestamps = false;
1721
protected $fillable = ['nombre', 'slug'];
1822

app/Models/Genero.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
namespace App\Models;
44

55
use Illuminate\Database\Eloquent\Model;
6+
use App\Traits\HasFind;
7+
use App\Traits\HasSlug;
68

79
/**
810
* @OA\Schema(
@@ -11,8 +13,9 @@
1113
* @OA\Property(property="slug", type="string", description="Url amigable del nombre del genero", example="rpg-de-accion")
1214
* )
1315
**/
14-
class Genero extends Base
16+
class Genero extends Model
1517
{
18+
use HasFind, HasSlug;
1619

1720
public $timestamps = false;
1821
protected $fillable = ['nombre', 'slug'];

app/Models/Juego.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
use Illuminate\Support\Facades\DB;
1010
use Illuminate\Support\Facades\Storage;
1111
use Illuminate\Support\Facades\Validator;
12+
use App\Traits\HasFind;
13+
use App\Traits\HasSlug;
1214

1315

1416
/**
@@ -26,8 +28,10 @@
2628
*
2729
* @package App\Models
2830
*/
29-
class Juego extends Base
31+
class Juego extends Model
3032
{
33+
use HasFind, HasSlug;
34+
3135
public $timestamps = false;
3236
protected $table = 'juegos';
3337
protected $hidden = array('id');

app/Models/Base.php renamed to app/Traits/HasFind.php

+10-14
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,31 @@
11
<?php
22

3-
namespace App\Models;
3+
namespace App\Traits;
44

5-
use Illuminate\Database\Eloquent\Model;
65
use Illuminate\Support\Facades\DB;
7-
use Illuminate\Support\Str;
86

9-
class Base extends Model
7+
trait HasFind
108
{
11-
public function sluggable($string)
9+
public function findById($id)
1210
{
13-
return Str::slug($string);
14-
}
15-
16-
public function findById($id) {
1711
$value = self::where('id', $id)->first();
18-
if($value == null) {
12+
if ($value == null) {
1913
return ['error' => 'No encontrado'];
2014
}
2115
return $value;
2216
}
2317

24-
public function findBySlug($slug) {
18+
public function findBySlug($slug)
19+
{
2520
$value = self::where('slug', $slug)->first();
26-
if($value == null) {
21+
if ($value == null) {
2722
return ['error' => 'No encontrado'];
2823
}
2924
return $value;
3025
}
3126

32-
public function findByNombre($nombre) {
27+
public function findByNombre($nombre)
28+
{
3329

3430
if (DB::getDriverName() === 'pgsql') {
3531
$like = 'ilike';
@@ -38,7 +34,7 @@ public function findByNombre($nombre) {
3834
}
3935

4036
$value = self::where('nombre', $like, '%' . $nombre . '%')->first();
41-
if($value == null) {
37+
if ($value == null) {
4238
return ['error' => 'No encontrado'];
4339
}
4440
return $value;

app/Traits/HasSlug.php

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace App\Traits;
4+
use Illuminate\Support\Str;
5+
6+
trait HasSlug
7+
{
8+
public function sluggable($string)
9+
{
10+
return Str::slug($string);
11+
}
12+
}

0 commit comments

Comments
 (0)
0