Làm cách nào để sử dụng slug trong Laravel 8?

Trong ví dụ tạo sên laravel này, chúng tôi sẽ giải thích cách tạo nhiều sên động trong ứng dụng Laravel 9

Hướng dẫn này chắc chắn sẽ làm nổi bật mọi khía cạnh hữu ích để tạo slug từ tên bài đăng hoặc tiêu đề trong ứng dụng laravel

Slug là url hoặc mã định danh duy nhất mà con người có thể đọc được giúp tìm trang web hoặc tài nguyên web. Một từ khóa hoặc id cụ thể biểu thị sên

Bạn có thể sử dụng nó nhiều nhất khi bạn muốn đề cập đến một mục trong khi vẫn giữ được khả năng nhìn thấy nó

Không chỉ Laravel 8, mà bạn có thể sử dụng hướng dẫn độc đáo này để triển khai tính năng slug trong các phiên bản trước của laravel bằng cách sử dụng phương pháp hùng hồn sâu sắc

Cách tạo nhiều sên trong ứng dụng Laravel 9

  • Bước 1. Cài đặt ứng dụng Laravel
  • Bước 2. Gợi lên kết nối cơ sở dữ liệu
  • Bước 3. Thiết lập mô hình và di chuyển
  • Bước 4. Chạy di chuyển cơ sở dữ liệu
  • Bước 5. Tạo và cài đặt bộ điều khiển
  • Bước 6. Thêm tuyến đường mới
  • Bước 7. Bắt đầu ứng dụng Laravel

Cài đặt ứng dụng Laravel

Khởi tạo bước đầu tiên với cài đặt ứng dụng laravel, do đó hãy mở bảng điều khiển và thực hiện lệnh sau

composer create-project --prefer-dist laravel/laravel laravel-google-autocomplete-app

Di chuyển vào ứng dụng laravel

cd laravel-demo-app

Gợi lên kết nối cơ sở dữ liệu

Bạn có thể sử dụng MAMP hoặc XAMPP làm máy chủ web cục bộ, chèn tên cơ sở dữ liệu, tên người dùng và mật khẩu vào tệp

cd laravel-demo-app
2

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=

Thiết lập mô hình và di chuyển

Trong bước này, bạn phải tạo các tệp mô hình và di chuyển. Nó có thể được thực hiện bằng cách sử dụng một lệnh duy nhất, do đó hãy thực hiện lệnh sau

php artisan make:model Post -m

Sau khi chạy lệnh được đề xuất, các tệp mô hình và di chuyển mới đã được tạo và bạn sẽ thêm các giá trị trong các tệp này để tạo bảng trong cơ sở dữ liệu

Cập nhật mã trong ứng dụng/Mô hình/Bài đăng. tập tin php


namespace App\Models;
use Illuminate\Support\Str;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
    use HasFactory;
    
    protected $fillable = [ 
        'name', 
        'slug',
        'description' 
    ];
    public $timestamps = false;
    protected static function boot()
    {
        parent::boot();
        static::created(function ($post) {
            $post->slug = $post->generateSlug($post->name);
            $post->save();
        });
    }
    private function generateSlug($name)
    {
        if (static::whereSlug($slug = Str::slug($name))->exists()) {
            $max = static::whereName($name)->latest('id')->skip(1)->value('slug');
            if (isset($max[-1]) && is_numeric($max[-1])) {
                return preg_replace_callback('/(\d+)$/', function($mathces) {
                    return $mathces[1] + 1;
                }, $max);
            }
            return "{$slug}-2";
        }
        return $slug;
    }    
}

Bây giờ, hãy vào ứng dụng/cơ sở dữ liệu/di chuyển/create_posts_table. php và bạn phải chèn các giá trị của bảng vào tệp di chuyển này


use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('name', 150);
            $table->string("slug", 150);
            $table->text('description');            
            $table->timestamps();
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Chạy di chuyển cơ sở dữ liệu

Tất cả các tệp mô hình và di chuyển hiện đã được cập nhật và bạn phải thực hiện lệnh để chạy di chuyển

php artisan migrate

Tạo và cài đặt bộ điều khiển

Hãy để chúng tôi tạo một tệp điều khiển mới bằng cách sử dụng lệnh trình soạn thảo sau

________số 8

Tiếp theo, bạn phải mở app/Http/Controllers/PostController. php và cập nhật tệp với mã đã cho


namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Post;

class PostController extends Controller
{
    public function index()
    {
        $post = Post::create([
            "name" => "Back to future",
            "slug" => "laravel-generate-multi-slug-on-load",
            "description" => "This is just the laravel slug example"
        ]);
        dd($post);
    }
}

Thêm tuyến đường mới

Bây giờ, bạn cần có một tuyến đường được xác định trong tệp routes/web. php và tuyến đường này sẽ là điểm cuối hoặc url để tạo sên

Đảm bảo rằng bạn đã vào trong tệp tuyến đường được đề xuất và nhập bộ điều khiển ở trên cùng, đồng thời xác định tuyến đường như được đề cập bên dưới

cd laravel-demo-app
0

Bắt đầu ứng dụng Laravel

Đi tới cửa sổ của thiết bị đầu cuối, bắt đầu nhập lệnh sau và đảm bảo thực thi nó để gọi máy chủ phát triển laravel

cd laravel-demo-app
0

Sau đó mở trình duyệt và nhập url trên thanh địa chỉ; . Bạn sẽ thấy mỗi khi bạn thực thi url sau và một con sên mới được tạo trong cơ sở dữ liệu

cd laravel-demo-app
1

Làm cách nào để sử dụng slug trong Laravel 8?

Phần kết luận

Hướng dẫn ví dụ về laravel tạo nhiều sên duy nhất khi tải trang này sẽ giúp bạn đạt được mục tiêu tích hợp tính năng tạo slug trong laravel từ đầu

Từ giờ trở đi, bạn sẽ không phải vật lộn để xây dựng chức năng này cho dự án web laravel tiếp theo của mình

Làm cách nào để sử dụng slug trong Laravel 8?

máy đào

Tôi là Digamber, một nhà phát triển full-stack và là người đam mê thể dục. Tôi đã tạo trang web này để truyền kinh nghiệm mã hóa của mình cho các lập trình viên mới. Tôi thích viết trên JavaScript, ECMAScript, React, Angular, Vue, Laravel

Twitter GitHub

Bài viết đề xuất

Laravel 9 Xác thực giao thức Internet (IPv6) Hướng dẫn Laravel 9 Nhập bản ghi trong SQL với CSV và SeederCách triển khai Xác thực tồn tại trong Laravel 9 FormLaravel 9 Livewire Ví dụ về Hướng dẫn tạo Slug mới Ví dụ về ví dụ hệ thống thẻ Bootstrap 9 Hướng dẫn về Laravel 9 Tạo ví dụ về lệnh thủ công tùy chỉnh Hướng dẫn sao lưu cơ sở dữ liệu Laravel 9 với

Làm thế nào để tạo một con sên trong laravel?

Cách tạo nhiều sên trong ứng dụng Laravel 9 .
Bước 1. Cài đặt ứng dụng Laravel
Bước 2. Gợi lên kết nối cơ sở dữ liệu
Bước 3. Thiết lập mô hình và di chuyển
Bước 4. Chạy di chuyển cơ sở dữ liệu
Bước 5. Tạo và cài đặt bộ điều khiển
Bước 6. Thêm tuyến đường mới
Bước 7. Bắt đầu ứng dụng Laravel

Làm cách nào để cập nhật sên trong Laravel 8?

Bước 1 – Cài đặt ứng dụng Laravel 8. .
Bước 2 – Kết nối ứng dụng với cơ sở dữ liệu. .
Bước 3 – Cài đặt gói Eloquent Sluggable. .
Bước 4 – Xây dựng mô hình và di chuyển. .
Bước 5 – Thêm tuyến đường. .
Bước 6 – Tạo Controller bằng Artisan Command. .
Bước 7 – Tạo chế độ xem lưỡi cắt

Sên trong laravel 8 là gì?

Slug là một phần (nếu không phải là tất cả) đường dẫn trong một url . Thông thường, sên được sử dụng cho các url thân thiện với SEO để trỏ đến những thứ như bài đăng trên diễn đàn, trang sản phẩm, v.v. ồ tuyệt vời, cảm ơn bạn.

Làm cách nào để tạo hoặc tạo slug trong Laravel 8?

Cách tạo Slug trong Laravel với gói Livewire .
Bước 1. Tạo dự án Laravel mới
Bước 2. Chèn chi tiết cơ sở dữ liệu trong ENV
Bước 3. Thêm thư viện Livewire trong Laravel
Bước 4. Thêm gói Eloquent Sluggable
Bước 5. Xuất bản tệp cấu hình Sluggable
Bước 6. Tạo mô hình và di chuyển
Bước 7. Tạo route trong Laravel