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');
|
||||
}
|
||||
public function favorites()
|
||||
{
|
||||
return $this->hasMany(Favorite::class);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -100,4 +100,8 @@ class Tour extends Model
|
||||
{
|
||||
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');
|
||||
}
|
||||
public function favorites()
|
||||
{
|
||||
return $this->hasMany(Favorite::class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<ul class="user-profile-sidebar-list">
|
||||
<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-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.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>
|
||||
|
||||
@@ -45,4 +45,18 @@ Route::prefix('account')->name('accounts.')->middleware('auth')->group(function
|
||||
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