Asked Dec 14th, 2018 9:18 a.m. 225 0 2
  • 225 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.

Share
  • 225 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
0
| Reply
Share
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

0
| Reply
Share

2 ANSWERS


Answered Dec 18th, 2018 1:04 a.m.
Accepted
+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

Share
Answered 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 🤔

Share
Avatar Anonymous @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.

+1
| Reply
Share
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 ý

0
| Reply
Share
Avatar Anonymous @viethuong2072000
Dec 27th, 2018 4:24 p.m.

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

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.