کد مدل
class Course extends Model
{
use Sluggable;
protected $guarded = [];
protected $casts = [
'images' => 'array'
];
/**
* Return the sluggable configuration array for this model.
*
* @return array
*/
public function sluggable()
{
return [
'slug' => [
'source' => 'title'
]
];
}
public function setBodyAttribute($value)
{
$this->attributes['description'] = str_limit(preg_replace('/<[^>]*>/' , '' , $value) , 200);
$this->attributes['body'] = $value;
}
public function episodes()
{
return $this->hasMany(Episode::class);
}
public function path()
{
return "/courses/$this->slug";
}
/**
* Get all of the post's comments.
*/
public function comments()
{
return $this->morphMany(Comment::class, 'commentable');
}
}
کد کنترل مربوط به روت
namespace App\Http\Controllers;
use App\Article;
use App\Course;
use Illuminate\Http\Request;
class CourseController extends Controller
{
/**
* @param Course $course
* @return Course
*/
public function single(Course $course)
{
// $articles = Article::latest()->take(4)->get();
// Redis::incr("views.{$course->id}.courses");
return view('Home.course' , compact('course' ));
}
}
کد مربوط روت
Route::get('/' , 'HomeController@index');
Route::get('/articles/{articleSlug}' , 'ArticleController@single');
Route::get('/course/{courseSlug}' , 'CourseController@single');
Route::post('/comment' , 'HomeController@comment');
در مدل بایندینگ باید نام مسیر همنام با مدل باشه وگرنه داده ها به درستی بایند نمیشن
روش نادرست:
Route::resource('blog','PostsController');
روش درست:
Route::resource('posts','PostsController');
@ali.bayat
بله به درستی انجام میشه.
<?php
namespace App\Http\Controllers;
use App\Article;
use App\Course;
use Illuminate\Http\Request;
class CourseController extends Controller
{
/**
* @param Course $course
* @return Course
*/
public function single(Course $course)
{
// $articles = Article::latest()->take(4)->get();
// Redis::incr("views.{$course->id}.courses");
return view('Home.course' , compact('course' ));
}
}
فایل composer.json رو باز کردم دیدم slug نصب نشده اما یادمه قبلا نصب کردم امدم دوباره نصب کنم این مشکل به وجود امد.
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\rosi>cd C:\xampp\htdocs\sarafiha
C:\xampp\htdocs\sarafiha>$ composer require cviebrock/eloquent-sluggable:^4.6
'$' is not recognized as an internal or external command,
operable program or batch file.
C:\xampp\htdocs\sarafiha>composer require cviebrock/eloquent-sluggable:^4.6
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for cviebrock/eloquent-sluggable 4.6 -> satisfiable by cviebrock/eloquent-sluggable[4.6.0].
- Conclusion: remove laravel/framework v5.8.12
- Conclusion: don't install laravel/framework v5.8.12
- cviebrock/eloquent-sluggable 4.6.0 requires illuminate/database ~5.7.0 -> satisfiable by illuminate/database[5.7.17, 5.7.18, 5.7.19, 5.7.x-dev,
v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.15, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.26, v5.7.27, v5.7.28, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7
.7, v5.7.8, v5.7.9].
- don't install illuminate/database 5.7.17|don't install laravel/framework v5.8.12
- don't install illuminate/database 5.7.18|don't install laravel/framework v5.8.12
- don't install illuminate/database 5.7.19|don't install laravel/framework v5.8.12
- don't install illuminate/database 5.7.x-dev|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.0|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.1|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.10|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.11|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.15|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.2|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.20|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.21|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.22|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.23|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.26|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.27|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.28|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.3|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.4|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.5|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.6|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.7|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.8|don't install laravel/framework v5.8.12
- don't install illuminate/database v5.7.9|don't install laravel/framework v5.8.12
- Installation request for laravel/framework (locked at v5.8.12, required as 5.8.*) -> satisfiable by laravel/framework[v5.8.12].
Installation failed, reverting ./composer.json to its original content.
فک کنم برای اینکه لاراول رو خوب نصب نکردم یکی بگه دقیقا چجوری نصب کنم.
مرسی ولی بازم فرقی نکرد بازم به مقادیر دیتابیس دسترسی ندارم( با ایدی میشه مقادیر گرفت پنل ادیمین به درستی کار میکنه حتی بخش اخرین اخبار که لوپ میگیرم بازم به مقادیر دسترسی دارم ولی پیج سینگل رو دسترسی ندارم خالی برمیگردونه).
پروژه رو کلا اپلود کنم ؟ تست کنید حدود 70 مگ (همش دیزاین ) اگه کسی توانایی و وقت باگ گیری رو داره بگه اپ کنم.
مرسی ولی بازم فرقی نکرد بازم به مقادیر دیتابیس دسترسی ندارم( با ایدی میشه مقادیر گرفت پنل ادیمین به درستی کار میکنه حتی بخش اخرین اخبار که لوپ میگیرم بازم به مقادیر دسترسی دارم ولی پیج سینگل رو دسترسی ندارم خالی برمیگردونه).
پروژه رو کلا اپلود کنم ؟ تست کنید حدود 70 مگ (همش دیزاین ) اگه کسی توانایی و وقت باگ گیری رو داره بگه اپ کنم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟