feat: add routes, model, controller and update related models relations
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Account;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class FavoriteController extends Controller
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toggleTour()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeTour()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toggleFlight()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeFlight()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Reliese Model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Favorite
|
||||||
|
*
|
||||||
|
* @property int $id
|
||||||
|
* @property int $user_id
|
||||||
|
* @property int|null $tour_id
|
||||||
|
* @property int|null $flight_id
|
||||||
|
* @property Carbon|null $created_at
|
||||||
|
* @property Carbon|null $updated_at
|
||||||
|
*
|
||||||
|
* @package App\Models
|
||||||
|
*/
|
||||||
|
class Favorite extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'favorites';
|
||||||
|
public static $snakeAttributes = false;
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'user_id' => 'int',
|
||||||
|
'tour_id' => 'int',
|
||||||
|
'flight_id' => 'int'
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'user_id',
|
||||||
|
'tour_id',
|
||||||
|
'flight_id'
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -150,5 +150,9 @@ class Flight extends Model
|
|||||||
{
|
{
|
||||||
return $this->hasMany(Comment::class, 'flight_id');
|
return $this->hasMany(Comment::class, 'flight_id');
|
||||||
}
|
}
|
||||||
|
public function favorites()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Favorite::class);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,4 +100,8 @@ class Tour extends Model
|
|||||||
{
|
{
|
||||||
return $this->hasMany(Comment::class, 'tour_id');
|
return $this->hasMany(Comment::class, 'tour_id');
|
||||||
}
|
}
|
||||||
|
public function favorites()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Favorite::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,4 +108,8 @@ class User extends Authenticate
|
|||||||
{
|
{
|
||||||
return $this->hasMany(Comment::class, 'user_id');
|
return $this->hasMany(Comment::class, 'user_id');
|
||||||
}
|
}
|
||||||
|
public function favorites()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Favorite::class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<ul class="user-profile-sidebar-list">
|
<ul class="user-profile-sidebar-list">
|
||||||
<li><a class="active" href="{{route('accounts.profile')}}"><i class="far fa-user"></i> نمایه من</a></li>
|
<li><a class="active" href="{{route('accounts.profile')}}"><i class="far fa-user"></i> نمایه من</a></li>
|
||||||
<li><a href="profile-booking.html"><i class="far fa-shopping-bag"></i> رزرو من</a></li>
|
<li><a href="profile-booking.html"><i class="far fa-shopping-bag"></i> رزرو من</a></li>
|
||||||
<li><a href="profile-wishlist.html"><i class="far fa-heart"></i> علاقه مندی های من</a></li>
|
<li><a href="{{route('accounts.favorites.index')}}"><i class="far fa-heart"></i> علاقه مندی های من</a></li>
|
||||||
<li><a href="{{route('accounts.comments')}}"><i class="fas fa-comments"></i> کامنتهای من</a></li>
|
<li><a href="{{route('accounts.comments')}}"><i class="fas fa-comments"></i> کامنتهای من</a></li>
|
||||||
<li><a href="{{route('accounts.edit-profile.index')}}"><i class="far fa-cog"></i> ویرایش حساب کاربری</a></li>
|
<li><a href="{{route('accounts.edit-profile.index')}}"><i class="far fa-cog"></i> ویرایش حساب کاربری</a></li>
|
||||||
<li><a href="{{route('auth.logout')}}"><i class="far fa-sign-out"></i> خروج</a></li>
|
<li><a href="{{route('auth.logout')}}"><i class="far fa-sign-out"></i> خروج</a></li>
|
||||||
|
|||||||
@@ -45,4 +45,18 @@ Route::prefix('account')->name('accounts.')->middleware('auth')->group(function
|
|||||||
Route::post('change-password', 'changePassword')->name('change-password');
|
Route::post('change-password', 'changePassword')->name('change-password');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::prefix('favorites')->name('favorites.')->controller(FavoriteController::class)->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
|
||||||
|
Route::prefix('tour/{tour}')->name('tour.')->group(function () {
|
||||||
|
Route::post('/', 'toggleTour')->name('toggle');
|
||||||
|
Route::delete('/', 'removeTour')->name('remove');
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::prefix('flight/{flight}')->name('flight.')->group(function () {
|
||||||
|
Route::post('/', 'toggleFlight')->name('toggle');
|
||||||
|
Route::delete('/', 'removeFlight')->name('remove');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user