Yêu cầu Dec 14th, 2018 9:18 a.m. 222 0 2
  • 222 0 2
0

Laravel : xin mọi người thông não giúp em. không lưu tags là khoảng trống trong DB tags.

Chia sẻ
  • 222 0 2
$array_tags = array_map('trim', explode(',', $request->tags)); 
$array_tag_id = [];
foreach ($array_tags as $item) {
    $tagService = new TagService();
    if ($item != " ") {
        // Find tag name//code
        $tagRecord = $tagService->findTagName($item);
        if (!empty($tagRecord)) {
            $array_tag_id[] = $tagRecord->id;
        } else {
        // store tag name and get ID
            $request->request->add(['name' => $item]);
            $request->request->add(['slug' => null]);
            $tagResult = $tagService->saveData($request);
            $array_tag_id[] = $tagResult->id;
        }
    }
}

ex: khi nhập nhiều tags các kí tự, nhưng sau ',' không nhập gì thì vẫn lưu, em muốn sau ',' không nhập gì thì nó sẽ không lưu lại khoảng cách. hiện tại nó lưu : , , , ,...

Dec 14th, 2018 9:21 a.m.

Bạn có thể để kiểu này cho mọi người dễ nhìn hơn, thêm tên ngôn ngữ sau ```

Ví dụ ```php sẽ được như thế này

// Code
Avatar Odasama K @thuyenhv2101
Dec 14th, 2018 9:49 a.m.

@quankm1097 cảm ơn, có ai giúp em ko? thông não em với đi

2 CÂU TRẢ LỜI


Đã trả lời Dec 18th, 2018 1:04 a.m.
Đã được chấp nhận
+2

bạn thử filter nó trước vòng lặp nha

$array_tags = array_map('trim', explode(',', $request->tags)); 
$array_tags = array_filter($array_tags);

hoặc bạn có thể dùng rtrim để lược bỏ dấu phẩy cuối của chuỗi trước khi explode

Chia sẻ
Đã trả lời Dec 14th, 2018 9:53 a.m.
+2

Đoạn này

if ($item != " ")

bạn thử chuyển thành

if (!empty($item))

xem sao 🤔

Chia sẻ
Avatar Henry Bui @viethuong2072000
Dec 15th, 2018 8:12 a.m.

Có vẻ đúng, vì bạn đang check != " " chứ không phải != "" nên nó sẽ bị lọt case. Nhưng mình nghĩ bạn nên dùng các package giúp tạo tags để hạn chế nhập bậy bạ dưới front-end trước khi submit lên server.

Avatar Odasama K @thuyenhv2101
Dec 17th, 2018 1:29 a.m.

@viethuong2072000 package nào vậy bạn... có thể cho mình một số gợi ý

Avatar Henry Bui @viethuong2072000
Dec 27th, 2018 4:24 p.m.

@thuyenhv2101 thiếu gì, google jquery tag input là ra đầy mà

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí