【问题标题】:else statement is not working in IF Else statementelse 语句在 IF Else 语句中不起作用
【发布时间】:2018-04-23 07:32:07
【问题描述】:

这是一个有点奇怪的问题,但我被困在这里。我只是使用查询来确定变量的值,并且得到了我的预期值。但是当我将它传递给刀片文件时,我会得到变量 if 的值。但是条件不能正常工作。

Blade.php

@foreach($rolepermssion as $role)

  @if($rol==1)
    <form method="post" action="{{ url('/system-configurations/roles-permission/permission') }}">

    </form>

  @else
     <form method="post" action="{{ url('/system-configurations/roles-permission/permission') }}">
    </form>    
    @endif
    @endforeach

Controller.php

public function modulePermission(){    
    $rol= RolePermission::where("roles_id", "=", $role_id)->count();

    $rolepermssion=RolePermission::where('roles_id','=',$role_id)->get();
    return view('system-configurations.module-permission',compact('rolepermssion','rol'));
}

【问题讨论】:

  • 只是为了举例还是你的ifelse有相同的代码? (除了&lt;/form 末尾缺少的“>”。你有@foreach($rolepermssion as $role) 并实际测试@if($rol==1) 是否正常?我们不能确定,但​​你的意思是@if($role==1)吗?“ mysql”标签在这里似乎也没用。
  • 只是形式,主要问题是 If else。第二个问题没看懂。我标记了“my-sql”,因为查询中可能有更好的解决方案。

标签: mysql laravel if-statement laravel-5


【解决方案1】:

试试这个:@if($rolepermssion-&gt;count() == 1)

【讨论】:

  • 您确定您获得了多条记录吗?
  • 是的。我想根据条件只显示多种形式中的一种形式。
  • 而你怎么知道你是否在if块中运行,如果这两种形式相同?
  • 好的,让我解释一下。我正在使用条件来确定表单的 id 是否可用,如果可用,那么表单将用于创建具有不同前端的新记录,否则它将更新记录。如果表单可用,它也会显示其当前值。
  • 好的,完成。问题是在开始新表单之前需要关闭 foreach
【解决方案2】:

您开始设置变量$role,然后测试变量$rol

这不是你的问题吗?

【讨论】:

  • 不。 $role 是包含数据库数据的数组。 $rol 包含查询的输出
最近更新 更多