如何在laravel模型中使用if语句
我在模型中使用builder并在blade中打印数据 问题是我的数据以短名称存储在数据库中,所以我希望在blade中打印时写入实际名称,而不仅仅是返回这些短名称,而且我无法让if语句在我的生成器中工作 代码 有什么想法吗 更新 好的,我想我的刀片中有一个问题,我出错了,但现在我的刀片加载了,我得到的数据如下: 现行代码 现在我明白了如何在laravel模型中使用if语句,laravel,model,builder,Laravel,Model,Builder,我在模型中使用builder并在blade中打印数据 问题是我的数据以短名称存储在数据库中,所以我希望在blade中打印时写入实际名称,而不仅仅是返回这些短名称,而且我无法让if语句在我的生成器中工作 代码 有什么想法吗 更新 好的,我想我的刀片中有一个问题,我出错了,但现在我的刀片加载了,我得到的数据如下: 现行代码 现在我明白了 syntax error, unexpected 'if' (T_IF) 在 您错过了一些“和”,请尝试以下内容 public function
syntax error, unexpected 'if' (T_IF)
在
您错过了一些“和”,请尝试以下内容
public function buildFooter($footer, $positionid = 'footer'){
$result = null;
foreach($footer as $item)
if($item->type == $positionid) {
$result .= "<li class='dd-item nested-list-item' data-position='{$item->position}' data-id='{$item->id}'>";
$result .= "<div class='dd-handle nested-list-handle'><i class='fas fa-arrows-alt'></i></div><div class='nested-list-content'>";
if ($item->widget == 'feature-posts'){
$result .= "Feature Posts";
} elseif ($item->widget == 'feature-posts-sidebar') {
$result .= "Feature Posts (Sidebar)";
} elseif ($item->widget == 'top-categories-posts') {
$result .= "Top Categories (By Posts)";
} elseif ($item->widget == 'top-categories-visits') {
$result .= "Top Categories (By Visits)";
} else {
$result .= "Popular Posts";
}
$result .="-".$item->status;
$result .="<div class='float-right'><a href='#' class='delete_toggle text-danger' rel='{$item->id}'>Delete</a></div></div>".$this->buildFooter($footer, $item->id) . "</li>";
}
return $result ? "\n<ol class=\"dd-list\">\n$result</ol>\n" : null;
}
公共函数buildFooter($footer,$positionid='footer'){
$result=null;
foreach($footer作为$item)
如果($item->type==$positionid){
$result.=“”;
$result.=”;
如果($item->widget=='featureposts'){
$result.=“专题文章”;
}elseif($item->widget=='featureposts侧边栏'){
$result.=“专题文章(侧边栏)”;
}elseif($item->widget=='top categories posts'){
$result.=“顶级类别(按职位)”;
}elseif($item->widget=='top categories visions'){
$result.=“顶级类别(按访问次数)”;
}否则{
$result.=“热门帖子”;
}
$result.=“-”$item->status;
$result.=''.$this->buildFooter($footer,$item->id)。“ ”;
}
返回$result?\n\n$result\n:空;
}
你能试试这个吗
我相信还有其他方法可以实现这一点。您的方法是将视图和控制器操作混为一谈
<?php
public function buildFooter($footer, $positionid = 'footer')
{
$result = null;
foreach($footer as $item)
if($item->type == $positionid) {
$result .= "
<li class='dd-item nested-list-item' data-position='"
. $item->position
."' data-id='".$item->id."'>
<div class='dd-handle nested-list-handle'>
<i class='fas fa-arrows-alt'></i>
</div>
<div class='nested-list-content'>";
//if part
if($item->widget == 'feature-posts'):
$result .= "Feature Posts";
elseif($item->widget == 'feature-posts-sidebar'):
$result .= "Feature Posts (Sidebar)";
elseif($item->widget == 'top-categories-posts'):
$result .= "Top Categories (By Posts)";
elseif($item->widget == 'top-categories-visits'):
$result .= "Top Categories (By Visits)";
else:
$result .= "Popular Posts";
endif;
// if part
$result .= "- " . $item->status
."<div class='float-right'>
<a href=''>Edit</a> |
<a href='#' class='delete_toggle' rel='{$item->id}'>Delete</a>
</div>
</div>".$this->buildFooter($footer, $item->id) . "</li>";
}
return $result ? "\n<ol class=\"dd-list\">\n".$result."</ol>\n" : null;
}
// Getter for the HTML menu builder
public function getHTMLFooter($items)
{
return $this->buildFooter($items);
}
您不使用刀片模板有什么特别的原因吗?在刀片视图文件中,通过@if($conditions)…@endif来实现这些模板要容易得多。是的,原因是我使用jquery nestabe的方式,我只是使{!!$xxxxx!!}
我的可嵌套表单已经准备好使用了。您似乎在
之后缺少了一个双引号。这就是语句按原样打印的原因…您应该将$resutlt分为3部分连接起来(如果语句作为中间部分)。我现在得到了语法错误,意外的“if”(T\u if)
@JohnDoe知道吗?我检查了没有{
打开。它在这种情况下工作$result.=“-”$item->status
已更新。请检查..我建议您阅读有关刀片模板和控制器的Laravel文档。。。
//code
<div class='nested-list-content'>".
if ($item->widget == 'feature-posts'){
'Feature Posts'
} elseif ($item->widget == 'feature-posts-sidebar') {
'Feature Posts (Sidebar)'
} elseif ($item->widget == 'top-categories-posts') {
'Top Categories (By Posts)'
} elseif ($item->widget == 'top-categories-visits') {
'Top Categories (By Visits)'
} else {
'Popular Posts'
}
- {$item->status}
."<div class='float-right'>
//code
syntax error, unexpected 'if' (T_IF)
if ($item->widget == 'feature-posts'){
public function buildFooter($footer, $positionid = 'footer'){
$result = null;
foreach($footer as $item)
if($item->type == $positionid) {
$result .= "<li class='dd-item nested-list-item' data-position='{$item->position}' data-id='{$item->id}'>";
$result .= "<div class='dd-handle nested-list-handle'><i class='fas fa-arrows-alt'></i></div><div class='nested-list-content'>";
if ($item->widget == 'feature-posts'){
$result .= "Feature Posts";
} elseif ($item->widget == 'feature-posts-sidebar') {
$result .= "Feature Posts (Sidebar)";
} elseif ($item->widget == 'top-categories-posts') {
$result .= "Top Categories (By Posts)";
} elseif ($item->widget == 'top-categories-visits') {
$result .= "Top Categories (By Visits)";
} else {
$result .= "Popular Posts";
}
$result .="-".$item->status;
$result .="<div class='float-right'><a href='#' class='delete_toggle text-danger' rel='{$item->id}'>Delete</a></div></div>".$this->buildFooter($footer, $item->id) . "</li>";
}
return $result ? "\n<ol class=\"dd-list\">\n$result</ol>\n" : null;
}
<?php
public function buildFooter($footer, $positionid = 'footer')
{
$result = null;
foreach($footer as $item)
if($item->type == $positionid) {
$result .= "
<li class='dd-item nested-list-item' data-position='"
. $item->position
."' data-id='".$item->id."'>
<div class='dd-handle nested-list-handle'>
<i class='fas fa-arrows-alt'></i>
</div>
<div class='nested-list-content'>";
//if part
if($item->widget == 'feature-posts'):
$result .= "Feature Posts";
elseif($item->widget == 'feature-posts-sidebar'):
$result .= "Feature Posts (Sidebar)";
elseif($item->widget == 'top-categories-posts'):
$result .= "Top Categories (By Posts)";
elseif($item->widget == 'top-categories-visits'):
$result .= "Top Categories (By Visits)";
else:
$result .= "Popular Posts";
endif;
// if part
$result .= "- " . $item->status
."<div class='float-right'>
<a href=''>Edit</a> |
<a href='#' class='delete_toggle' rel='{$item->id}'>Delete</a>
</div>
</div>".$this->buildFooter($footer, $item->id) . "</li>";
}
return $result ? "\n<ol class=\"dd-list\">\n".$result."</ol>\n" : null;
}
// Getter for the HTML menu builder
public function getHTMLFooter($items)
{
return $this->buildFooter($items);
}