Skip to content
Advertisement

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

here the above code is my orders display code I want to add line breaks in product_name which is the string
and showing like Hp I7 8th generation, Huawei p30 pro
I want to break the line and add the second product which is after the comma in the next row of the table

here is the image of how my products of the order are showing
here is the image of how my products of the order are showing

Am I wrong in storing products in the database because I add customers product in the array and then convert it into the string for storing in database I now they are retrieving like this as shown in image

Advertisement

Answer

First of all, storing product_names as a string goes against RDBMS principles; each product should be an entry in a separate table (products), linked to the order (orders) via some other method (generally a pivot table for orders and products, orders_products).

There is a simple way to display these, simply replace , in the string with <br/>:

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

Note: You have to use {!! !!} instead of {{ }} so it outputs the HTML properly.

User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement