Yêu cầu thg 12 14, 2018 9:18 SA 209 0 2
  • 209 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ẻ
  • 209 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 : , , , ,...

thg 12 14, 2018 9:21 SA

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
thg 12 14, 2018 9:49 SA

@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 thg 12 18, 2018 1:04 SA
Đã đượ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 thg 12 14, 2018 9:53 SA
+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
thg 12 15, 2018 8:12 SA

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
thg 12 17, 2018 1:29 SA

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

Avatar Henry Bui @viethuong2072000
thg 12 27, 2018 4:24 CH

@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í