doumubi6784 2018-03-01 10:00
浏览 119

在PHP Laravel中添加空格/制表符以区分父注释和子注释?

I am using Laravel 5.2 and I have a page which contain a 'comment' from the users and it can be replied by another user. My case is same like in this stackoverflow case. I am following its correct answer. But mine is still not quite working. The child comments doesn't have a space/tab, so the differences between parent comments and child comments cannot be seen like the image below. Do you know why and how to fix this?

This is my database design :
enter image description here
This Code below is in my controller:

public function ViewLead(Request $request)
{ 
$led_code = $request->LED_CODE;

$leads = Leads::leftjoin('CONTACT', 'LEADS.LED_SOURCE', '=', 'CONTACT.CON_CODE')->leftJoin('CLIENT', 'CONTACT.CON_CLIENTCODE', '=', 'CLIENT.CLI_CLIENTCODE')->where('LED_CODE', $led_code)->get();

$comments = Comments::where('COM_LEADS', $led_code)->where('COM_PARENTCODE', '0')->orderBy('COM_CODE', 'asc')->get();

$result = array();
foreach($comments as $comment){
    $list = array();
    $list = array_merge($list, [['COM_CODE' => $comment->COM_CODE, 'COM_PARENTCODE' => $comment->COM_PARENTCODE, 'COM_COMMENT' => $comment->COM_COMMENT, 'COM_NAME' => $comment->COM_NAME, 'COM_USERNAME' => $comment->COM_USERNAME, 'COM_CREATEDDATE' => $comment->COM_CREATEDDATE, 'COM_LIKE' => $comment->COM_LIKE, 'COM_LEADS' => $comment->COM_LEADS]]);
    $result = array_merge($result, $this->get_child_comment($comment->COM_CODE,0, $list));
}

$getdata = ['result'=>$result, 'leads'=>$leads];

return view('lead_view', $getdata);
}

function get_child_comment($pid,$level,$list=array()) {
$sub_comments = Comments::where('COM_PARENTCODE','=',$pid)->where('COM_CODE','!=',$pid)->orderBy('COM_CODE', 'asc')->get();     
foreach($sub_comments as $sub_comment){
    $space=" "; $sigm='-';
    for($j=0; $j<=$level; $j++)
    {
        $space .=$space;
    }
    for($j=0; $j<=$level; $j++)
    {
        $space .= $sigm;
    }
    $sub_comment->comment = html_entity_decode($space, ENT_QUOTES, "utf-8").' '.$sub_comment->comment;

    $list = array_merge($list, array(['COM_CODE' => $sub_comment->COM_CODE, 'COM_PARENTCODE' => $sub_comment->COM_PARENTCODE, 'COM_COMMENT' => $sub_comment->COM_COMMENT, 'COM_NAME' => $sub_comment->COM_NAME, 'COM_USERNAME' => $sub_comment->COM_USERNAME, 'COM_CREATEDDATE' => $sub_comment->COM_CREATEDDATE, 'COM_LIKE' => $sub_comment->COM_LIKE, 'COM_LIKE' => $sub_comment->COM_LIKE, 'COM_LEADS' => $sub_comment->COM_LEADS]));

    $list = $this->get_child_comment($sub_comment->COM_CODE, $level+1, $list);
}
return $list;
}

And this one is in my blade view:

@foreach($result as $getData)
<tr>
  <td>
    <b>{{ $getData['COM_NAME'] }}</b> <font color="grey">({{ date("d-m-Y H:i", strtotime($getData['COM_CREATEDDATE'])) }})</font><br>{{ $getData['COM_COMMENT'] }}<br><br>

  <form action="{{ url('AddLike') }}" method="POST">

    <font color="blue"> {{ $getData['COM_LIKE'] }}</font> <button class="btn btn-xs btn-primary" data-id="{{ $getData['COM_LEADS'] }}"><i class="fa fa-thumbs-o-up"></i></button>&nbsp&nbsp
    <a onclick="$('.details{{ $getData['COM_CODE'] }}').slideToggle(function(){$('#more').html($('.details{{ $getData['COM_CODE'] }}').is(':visible'));});"><label>Reply</label></a><br>

  </form>
  <form action="{{ url('AddCommentReply') }}" method="POST">
    <div class="details{{ $getData['COM_CODE'] }}" style="display:none">
      <br><textarea class="form-control edit" id="" name="com_comment" style="width:90%"  placeholder="Type a your reply.." required></textarea>
      <button type="submit" class="btn btn-round btn-success">Submit</button>
    </div>
  </form>

  </td>
</tr>
@endforeach

enter image description here

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 运动想象脑电信号数据集.vhdr
    • ¥15 三因素重复测量数据R语句编写,不存在交互作用
    • ¥15 微信会员卡等级和折扣规则
    • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
    • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
    • ¥15 gdf格式的脑电数据如何处理matlab
    • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
    • ¥100 监控抖音用户作品更新可以微信公众号提醒
    • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
    • ¥70 2048小游戏毕设项目