在来自 laravel 中的数据库的字符串数据中添加换行符

adding line break in string data coming from database in laravel

@forelse($orders as $order)
   <tr class="dropdown sliderow" data-toggle="collapse" data-target="#{{$order->id}}" data-parent="#myAccordion">
       <td >{{$order->id}}</td>
       <td>{{$order->customer_name}}</td>
       <td>{{$order->customer_email}}</td>
       <td>{{$order->customer_contact}}</td>
       <td>{{$order->customer_address}}</td>
       <td>
           <div class="action-box">
                <a href=""><i class="fa fa-angle-down">Details</i></a>
                {{--<a href=""><i class="fa fa-remove"></i></a>--}}
           </div>
       </td>
    <tr >
       <td colspan="6">
           <div class="container-fluid collapse" id="{{$order->id}}" style="position:relative;">
               <div class="row">
                   <div class="col-sm-6">
                       <h2>Customer info </h2>
                       <b>Name</b>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{$order->customer_name}}</span><br>
                       <b>Phone</b>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{$order->customer_contact}}</span><br>
                       <b>Address</b>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{$order->customer_address}}</span><br>

                       <h2>Products</h2>
                       <table cellpadding="1" class="table table-sm table-hover table-responsive">
                           <tr>
                               <th>name</th>
                               <th>quantity</th>
                               <th>total price</th>
                           </tr>
                           <tr>
                               <td>{{$order->product_names}}</td>
                               <td>{{$order->products_quantity}}</td>
                               <td>PKR 70,000</td>
                            </tr>
                         </table>
                     </div>
                     <div class="col-sm-6">
                          <h4>order status</h4>

                          <select name="delivery_status" id="" class="form-control">
                               <option value="status" selected>status</option>
                               <option value="not-deliverd">shipped</option>
                               <option value="delivered">shipped and received by customer</option>
                          </select>
                      </div>
                   </div>
                </div></td></tr></tr>



          </div>
          @empty
             <tr class="text-center warning">
                 <td colspan="6">No Record Found</td>
             </tr>
          @endforelse

这里上面的代码是我的订单显示代码我想在product_name中添加换行符是字符串
并显示像 Hp I7 8th generation, Huawei p30 pro
我想换行并在 table

的下一行中的逗号之后添加第二个产品

这是我的订单产品展示方式的图片

我在数据库中存储产品是不是错了,因为我在数组中添加了客户产品,然后将其转换为字符串以存储在数据库中我现在他们正在像这样检索,如图所示

首先,将product_names存储为字符串违反了RDBMS原则;每个产品都应该是单独的 table (products) 中的一个条目,通过其他方法链接到订单 (orders)(通常是 [=13 的枢轴 table =] 和 products, orders_products).

有一个简单的方法来显示这些,只需将字符串中的 , 替换为 <br/>:

<td>{!! str_replace("," "<br/>", $order->product_names) !!}</td>

注意:您必须使用 {!! !!} 而不是 {{ }} 才能正确输出 HTML。

首先,您必须将 <br/> 标签添加到您的数据中。 找到数据的长度并在特定点添加 \n

       $length=strlen($order->product_names);
        if($length>50){
          $order->product_names = substr_replace($order->product_names," \n" , 
          position, 0);
        }

之后只需像下面这样编写您的 table 单元格:

<td>{!! nl2br($order->product_names) !!}</td>

你只需要写 {!! !!} 而不是 {{ }}