@le.kienhoanh Anh không hiểu ý em lắm, đổ dữ liệu ra tức là sao nhỉ? Em muốn lấy ra $post và $category tương ứng à, hay sau khi lấy được rồi em muốn truyền xuống view
Mà ở dưới phần comment // single view post anh thấy em có xử lý được hết, trong trường hợp với route là Route::get('/post/{slug}', function($slug) { rồi mà nhỉ, khi thêm category_slug vào thì nhìn chung cũng không có gì khác nhiều lắm mà
Ví dụ như em có thể xử lý theo flow như thế này, em xem qua xem có vấn đề gì không
Route::get('/post/{category_slug}/{post_slug}',function($categorySlug,$postSlug){// Bước 1: Tìm $post theo $post_slug$post=App\Post::where('slug',$postSlug)->firstOrFail();// Bước 2: Từ $post, tìm ra $category, và so sánh với $categorySlug // Nếu $post->category->slug khác với $categorySlug trên URL thì có 2 cách xử lý, // 1 là trả ra lỗi, 2 là redirect sang đường dẫn với category_slug chính xác// Dưới đây là xử lý theo cách 2, redirect về URL đúngif($post->category->slug!=$categorySlug){returnredirect("post/{$post->category->slug}/{$post->slug}");}// Nếu $post->category->slug bằng với $category_slug, thì tiếp tục xử lý logic hiển thị viewreturnview('post.viewpost',compact('post'));});
Bài giảng hay và dễ hiểu quá anh ạ. Cám ơn anh đã chia sẻ. Hi vọng sẽ tiếp tục có nhiều bài hay hơn nữa. Hi vọng sau loạt bài này em sẽ dùng được tensorflow.
@thangtd90 cảm ơn anh đã phản hồi, nhưng nếu dữ liệu category_slug của em nằm tại bảng categories và post_slug của em nằm ở bảng posts và trong bảng posts này lại có cột category_id thì em làm cách nào để đổ dữ liệu ra ạ?.
Đoạn này giải thích rất tối nghĩa:
"Create file docs demo cho API này như sau File docs sẽ được khởi tạo trong folders docs có đường dẫn như sau app/docs/"
Nên nói rõ đó là file: "app/docs/users_doc.rb"
Đây là kỹ thuật tách code document ra khỏi code chính để tránh rác.
@le.kienhoanh à các parameters này sẽ được truyền vào hàm callback ở đằng sau theo thứ tự, nên em chỉ cần định nghĩa biến $categorySlug với $postSlug ở phần callback, sau đó tiến hành xử lý thôi.
Ví dụ như với định nghĩa Route::get('/post/{category_slug}/{post_slug}', function($categorySlug, $postSlug) { }); thì khi em truy cập vào URL dạng http://localhost/post/laravel/a-post-example-with-laravel-category/ thì $categorySlug sẽ tự động được gán giá trị laravel, còn $postSlug sẽ tự động được gán giá trị a-post-example-with-laravel-category rồi.
@thangtd90 Hi anh, xin lỗi vì đã trả lời muộn, nhưng rồi làm sao mình có thể truyền tham số vào hai cái biến này để nó nhận được category nào và bài viết nào ạ?.
Cảm ơn anh đã giành thời gian ạ!.
@le.kienhoanh Không sao em, ai cũng có những lúc bắt đầu tìm hiểu cái này, tìm hiểu cái kia và cũng sẽ gặp những khó khăn nhất định. Chịu khó tự học, không biết thì hỏi, đó là việc tốt mà Cụ thể em còn chỗ nào chưa hiểu rõ và cần hướng dẫn thêm nhỉ
Anh thấy ở trong file route, ở đoạn dưới phần comment // new single page view, em sửa dòng Route::get('/post/category_slug/post_slug', function() { thành Route::get('/post/{category_slug}/{post_slug}', function($categorySlug, $postSlug) { là được mà nhỉ
Cảm ơn anh đã dành thời gian hỗ trợ câu hỏi của em, em hiện là newbie mới đến với laravel, nên chưa có rành lắm. Cảm phiền anh có thể hướng dẫn kĩ hơn giúp em được không ạ?.
Để trở thành lập trình viên, trước hết bạn sẽ cần phải học các kiến thức nền tảng (database, OOP- mấy cái này là kiến thức phổ thông dạy ở tất cả các trường ĐH có đào tạo CNTT) và học chắc 1 ngôn ngữ lập trình (thường thì các trường sẽ dạy Java/C++)
Tiếp theo bạn nên xác định được mảng mà mình sẽ làm là gì (web, mobile, machine learning, ...) rồi lựa chọn ngôn ngữ phù hợp với mảng đó.
Khi bạn đã học chắc 1 ngôn ngữ thì việc chuyển đổi ngôn ngữ khác sẽ rất nhanh vì gần như chỉ là thay đổi cú pháp.
Còn về việc học ở đâu thì mình nghĩ cũng khó so sánh, vì mình cũng chỉ học 1 trường rồi nghe nói về các trường khác thôi.
THẢO LUẬN
@le.kienhoanh Anh không hiểu ý em lắm, đổ dữ liệu ra tức là sao nhỉ? Em muốn lấy ra
$postvà$categorytương ứng à, hay sau khi lấy được rồi em muốn truyền xuốngviewMà ở dưới phần comment
// single view postanh thấy em có xử lý được hết, trong trường hợp với route làRoute::get('/post/{slug}', function($slug) {rồi mà nhỉ, khi thêmcategory_slugvào thì nhìn chung cũng không có gì khác nhiều lắm màVí dụ như em có thể xử lý theo flow như thế này, em xem qua xem có vấn đề gì không
Bài giảng hay và dễ hiểu quá anh ạ. Cám ơn anh đã chia sẻ. Hi vọng sẽ tiếp tục có nhiều bài hay hơn nữa. Hi vọng sau loạt bài này em sẽ dùng được tensorflow.
ồ cái đó bạn cứ thử xem nó có chấp nhận không chứ mình cũng chưa thử bao giờ
em cảm ơn ạ
@thangtd90 cảm ơn anh đã phản hồi, nhưng nếu dữ liệu category_slug của em nằm tại bảng categories và post_slug của em nằm ở bảng posts và trong bảng posts này lại có cột category_id thì em làm cách nào để đổ dữ liệu ra ạ?.
Đoạn này giải thích rất tối nghĩa: "Create file docs demo cho API này như sau File docs sẽ được khởi tạo trong folders docs có đường dẫn như sau app/docs/" Nên nói rõ đó là file: "app/docs/users_doc.rb" Đây là kỹ thuật tách code document ra khỏi code chính để tránh rác.
Bài viết hay lắm ạ. Cảm ơn anh
@le.kienhoanh à các parameters này sẽ được truyền vào hàm callback ở đằng sau theo thứ tự, nên em chỉ cần định nghĩa biến
$categorySlugvới$postSlugở phần callback, sau đó tiến hành xử lý thôi.Ví dụ như với định nghĩa
Route::get('/post/{category_slug}/{post_slug}', function($categorySlug, $postSlug) { });thì khi em truy cập vào URL dạnghttp://localhost/post/laravel/a-post-example-with-laravel-category/thì$categorySlugsẽ tự động được gán giá trịlaravel, còn$postSlugsẽ tự động được gán giá trịa-post-example-with-laravel-categoryrồi.Không rõ đó có phải điều em cần hỏi không nhỉ
Ai có biết laptrinhx.com đi đâu ?
@thangtd90 Hi anh, xin lỗi vì đã trả lời muộn, nhưng rồi làm sao mình có thể truyền tham số vào hai cái biến này để nó nhận được category nào và bài viết nào ạ?. Cảm ơn anh đã giành thời gian ạ!.
Đúng rồi! Thế nên mới có trò share cookie đăng nhập thay cho việc chia sẻ username/password cho một số dịch vụ trực tuyến (fshare, netflix, ...)
Bạn ơi, mình muốn bạn viết thuê cho mình mô hình scrapy này. Vui lòng gửi liên hệ giúp mình về mail baodp@ozidigital.com nhé. Thanks
gg dịch nó thế
@le.kienhoanh Không sao em, ai cũng có những lúc bắt đầu tìm hiểu cái này, tìm hiểu cái kia và cũng sẽ gặp những khó khăn nhất định. Chịu khó tự học, không biết thì hỏi, đó là việc tốt mà
Cụ thể em còn chỗ nào chưa hiểu rõ và cần hướng dẫn thêm nhỉ 
Anh thấy ở trong file route, ở đoạn dưới phần comment
// new single page view, em sửa dòngRoute::get('/post/category_slug/post_slug', function() {thànhRoute::get('/post/{category_slug}/{post_slug}', function($categorySlug, $postSlug) {là được mà nhỉCảm ơn anh đã dành thời gian hỗ trợ câu hỏi của em, em hiện là newbie mới đến với laravel, nên chưa có rành lắm. Cảm phiền anh có thể hướng dẫn kĩ hơn giúp em được không ạ?.
Theo mình biết thì struct và interface trong go hoàn toàn có thể dùng thay thế cho OOP truyền thống, có điều linh hoạt và dễ hiểu hơn
Cảm ơn bạn đã giải thích
Golang là ngôn ngữ lập trình hàm. Nó sử dụng lại các pure function thay cho việc gọi các function thông qua class
Bạn đang làm mất thời gian của chúng tôi.
Để trở thành lập trình viên, trước hết bạn sẽ cần phải học các kiến thức nền tảng (database, OOP- mấy cái này là kiến thức phổ thông dạy ở tất cả các trường ĐH có đào tạo CNTT) và học chắc 1 ngôn ngữ lập trình (thường thì các trường sẽ dạy Java/C++) Tiếp theo bạn nên xác định được mảng mà mình sẽ làm là gì (web, mobile, machine learning, ...) rồi lựa chọn ngôn ngữ phù hợp với mảng đó. Khi bạn đã học chắc 1 ngôn ngữ thì việc chuyển đổi ngôn ngữ khác sẽ rất nhanh vì gần như chỉ là thay đổi cú pháp.
Còn về việc học ở đâu thì mình nghĩ cũng khó so sánh, vì mình cũng chỉ học 1 trường rồi nghe nói về các trường khác thôi.