gpt4 book ai didi

php - 传递给 Blade 的 Laravel 单词不知何故变得大写而没有解释

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:53 25 4
gpt4 key购买 nike

大家晚上好,我遇到了一个很奇怪的问题。我在网上找不到任何关于正在发生的事情的资源。

当我在我的 Controller 中使用以下内容在我的 Blade 模板中显示信息时:

$results = DB::table('datatest') -> get();

if ($results != null) {

return view('userview') -> with ('name', $results);

}

它将传递到我的 Blade 模板中的每个单词都大写。假设我从我的数据库中传递了整个段落,我段落中每个单词的第一个字母都变成了大写。

这是我的截图:

@foreach ($name as $name)

<tr>

<td>
{!!Form::label($name -> Author)!!}
</td>

<td>
{!!Form::label($name -> Title)!!}
</td>

<td>
{!!Form::label($name -> Year)!!}
</td>

<td>
{!!Form::label($name -> Abstracts)!!}
</td>

</tr>
@endforeach

//

另一方面,当我选择使用以下内容将信息传递到我的其他模板时:

$data = DB::table('datatest')->where('id', $id)->first();

$Author = $data -> Author;
$Title = $data -> Title;
$Year = $data -> Year;
$Abstracts = $data -> Abstracts;

$results = array('AUTHOR' => $Author, 'TITLE' => $Title, 'YEAR' => $Year, 'ABSTRACTS' => $Abstracts);

return view('userview2') -> with ($results);

这能够将数据传递到我的 Blade 模板中,而不会以任何方式改变单词的大写:

</tr>
<td>{!!Form::label('title', $TITLE)!!}</td>
<td>{!!Form::label('author', $AUTHOR)!!}</td>
<td>{!!Form::label('year', $YEAR)!!}</td>
<td>{!!Form::label('abstracts', $ABSTRACTS)!!}</td>
</tr>

有没有人也遇到过这个问题?如果是这样,谁能解释这背后的原因?

提前致谢!

最佳答案

这就是 Form::label 的工作原理。根据documentation ,如果你想获得未触及的输出,你应该使用带有两个参数的标签,如下所示:

{!! Form::label('email', 'e-mail address') !!}

哪些输出:

<label for="email">e-mail address</label>

在您的第一个切口中,您只传递了一个参数,Form::Label 美化了这个字符串,因此:

{!! Form::label('my email'); !!}

变成这样:

<label for="my email">My Email</label>

工作原理

标签生成器检查第二个参数,如果它不存在或为 null,则生成器将标签 $name 传递给 formatLabel()使用 ucwords() 的方法将每个单词的第一个字符大写。

protected function formatLabel($name, $value)
{
return $value ?: ucwords(str_replace('_', ' ', $name));
}

关于php - 传递给 Blade 的 Laravel 单词不知何故变得大写而没有解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36472873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com