php - 通过在 mysql 查询后返回空标签,html 大小增加了三倍 |如何解决 - laravel

标签 php html mysql string laravel

如何列出未经身份验证的用户(公共(public)页面)查找其姓名的数据?我还想知道是否可以在内部通过id转换用户名。

我有两个表,第一个公司和第二个人物,在我的代码中,我从 URL 中获取字符串“名称”,并在第一个表(公司)上进行搜索,如果是肯定的,我会将此名称发送到 View ,我需要列出该用户出现在个性表中的数据

enter image description here

我不知道我做错了什么,但是代码将 html 增加了三倍,并且没有返回我想要的方式。

我需要这样返回:

<div class="bg-danger"><br><br></div>
<div class="bg-primary"><br><br></div>
<div class="bg-success"><br><br></div>
<div class="bg-info"><br><br></div>

按照代码操作

路由器

Route::get('company/{name}', 'CompanyController@searchByName');

Controller

public function searchByName($name)
{
    $company = Company::where('name', $name)->first();
    return view('company.base.index', compact('company', 'name'));
}

查看

<!--- Lochlite: version 3.0.0 country Brazil, lang PT-BR, official site Gameloch Brasil © 2015 - 2019 Gameloch All Right Reserved. --->
<!doctype html>
<html xmlns:og="https://ogp.me/ns#" itemscope="" itemtype="https://schema.org/Corporation" class="no-js" lang="pt pt-BR_ALL" user-region="">
<head data-info="" itemscope="" itemtype="https://schema.org/Organization">
    <meta charset="utf-8">
    <meta content="origin" name="referrer">
    <meta name="geo.country" content="BR">
    <meta name="csrf-token" content="4rtTcBa4csPFlBtHECAmTw6MAh8D5y4ni0H5h49S">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
</body>
    @foreach($company as $company)
        <div class="{{ DB::table('personalities')->select('div_class_1')->where('name', '=', $name)->get() }}"><br><br></div>
        <div class="{{ DB::table('personalities')->select('div_class_2')->where('name', '=', '$name')->get() }}"><br><br></div>
        <div class="{{ DB::table('personalities')->select('div_class_3')->where('name', '=', '$name')->get() }}"><br><br></div>
        <div class="{{ DB::table('personalities')->select('div_class_4')->where('name', '=', '$name')->get() }}"><br><br></div>
    @endforeach      
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
</html>

返回

<div class="[{&quot;div_class_1&quot;:&quot;bg-danger&quot;}]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[{&quot;div_class_1&quot;:&quot;bg-danger&quot;}]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[{&quot;div_class_1&quot;:&quot;bg-danger&quot;}]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[{&quot;div_class_1&quot;:&quot;bg-danger&quot;}]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>
<div class="[]"><br><br></div>

最佳答案

您应该将 View 所需的内容传递到 View 中,包括对personalities的查询:

public function searchByName($name)
{
    $company = Company::where('name', $name)->firstOrFail();
    $personality = DB::table('personalities')->where('name', $name)->first();

    return view('company.base.index', compact('company', 'name', 'personality'));
}

查看:

<div class="{{ $personality->div_class_1 }}"><br><br></div>
<div class="{{ $personality->div_class_2 }}"><br><br></div>
<div class="{{ $personality->div_class_3 }}"><br><br></div>
<div class="{{ $personality->div_class_4 }}"><br><br></div>

不需要循环,因为没有什么可以迭代的。

关于php - 通过在 mysql 查询后返回空标签,html 大小增加了三倍 |如何解决 - laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368641/

相关文章:

php - 使用 SQL 查找最近的位置

html - 使用水平滚动条在div中设置表格的列宽

html - 如何制作 HTML 链接,使用户下载 .html 文件

mysql - 如何在 MySQL 中为数据库设置别名?

mysql - 在什么列上建立索引并快速进行表搜索

php - 比较并删除 mysql 数据库中的重复项

php - MYSQL 重复条目上的 AJAX 响应

html - Bootstrap 表插件导出选项

mysql - 如何删除MySQL中以逗号分隔的记录字符串?

php - 从一个表中选择匹配值到另一个表中的多个值