【问题标题】:when you loop through results how do you know which record to delete当您遍历结果时,您如何知道要删除哪条记录
【发布时间】:2015-12-13 01:56:32
【问题描述】:

如果我在 foreach 中循环了多个结果并且列表就是这样 -

-item 1
delete

-item 2
delete

-item 3
delete

-item 4
delete

如果我想删除 item 3 记录,我如何才能为我的查询找到该迭代的正确 ID。通常我会使用 get 请求,但在这种情况下这不起作用。

谢谢

@foreach ($statuses as $status)
    <div class="media post-margin">
        <a class="pull-left" href="{{ route('profile.index', ['username' => $status->user->username]) }}">
            <img class="media-object" alt="{{ $status->user->getNameOrUsername() }}" src="{{ $status->user->getAvatarUrl() }}">
        </a>
        <div class="media-body">
            <h4 class="media-heading"><a href="{{ route('profile.index', ['username' => $status->user->username]) }}">{{ $status->user->getNameOrUsername() }}</a></h4>
            <span>{{ $status->created_at->diffForHumans() }}</span>
        </div>
            <p>{{ $status->body }}</p>
            <hr>
            <ul class="list-inline">
                    <li><a href="{{ route('status.like', ['statusId' => $status->id]) }}"><i class="fa fa-thumbs-up fa-liked"></i> {{ $status->likes->count() }} {{ str_plural('like', $status->likes->count()) }}</a></li>
                    <li><a href="#"><i class="fa fa-comments-o"></i> Comment</a></li>
                    <li><a href="#"><i class="fa fa-retweet"></i> Share</a></li>
                    @if ($status->user->id === Auth::user()->id)
                        <li id="remove"><a href="#"><i class="fa fa-times"></i> Delete</li>
                    @endif
            </ul>
            <hr>
      </div>
@endforeach

【问题讨论】:

  • 字符串delete 是数组的一部分吗?请以正确的数组格式向我们展示输出。
  • 不,它不是,它的foreach输出相关数据是必需的,删除只是一个带有文本删除的锚标记。
  • 请向我们展示 foreach 循环,我很难理解 -item 是数组键还是数组值的一部分。
  • @Epodax 我 认为 OP 对输出的描述很糟糕。我猜它试图说循环输出项目名称和删除链接,或其他东西。只是猜测。
  • 添加了真实的代码示例,删除可以在列表中看到抱歉造成混淆

标签: php mysql laravel


【解决方案1】:

您只需要传递要删除的记录 id。

@foreach ($statuses as $status)
<div class="media post-margin">
    <a class="pull-left" href="{{ route('profile.index', ['username' => $status->user->username]) }}">
        <img class="media-object" alt="{{ $status->user->getNameOrUsername() }}" src="{{ $status->user->getAvatarUrl() }}">
    </a>
    <div class="media-body">
        <h4 class="media-heading"><a href="{{ route('profile.index', ['username' => $status->user->username]) }}">{{ $status->user->getNameOrUsername() }}</a></h4>
        <span>{{ $status->created_at->diffForHumans() }}</span>
    </div>
        <p>{{ $status->body }}</p>
        <hr>
        <ul class="list-inline">
                <li><a href="{{ route('status.like', ['statusId' => $status->id]) }}"><i class="fa fa-thumbs-up fa-liked"></i> {{ $status->likes->count() }} {{ str_plural('like', $status->likes->count()) }}</a></li>
                <li><a href="#"><i class="fa fa-comments-o"></i> Comment</a></li>
                <li><a href="#"><i class="fa fa-retweet"></i> Share</a></li>
                @if ($status->user->id === Auth::user()->id)
                    <li id="remove"><a href="{{route('status.delete',['statusId',$status -> id])}}"><i class="fa fa-times"></i> Delete</li>
                @endif
        </ul>
        <hr>
  </div>
@endforeach

路线

route::get('/delete/{$id}',['as' =>'status.delete' , 'uses' => 'YourController@delete']);

控制器

public function delete($id){
    Model::destroy($id); // 
}

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-29
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多