Php Laravel未从mongodb获取结果

Php Laravel未从mongodb获取结果,php,json,laravel,mongodb,laravel-5,Php,Json,Laravel,Mongodb,Laravel 5,我有一个名为“University.json”的json文件,它只包含一行记录 {"University": [{"fees": "$200"}, {"month": "June"}]} 现在我已经使用mongo导入将上面的*.json文件插入MongoDb mongoimport --db university --collection finance --file University.json 我的Mongo数据库/集合值为:大学/金融 为了显示来自MongoDb的ViewBlade

我有一个名为“University.json”的json文件,它只包含一行记录

{"University": [{"fees": "$200"}, {"month": "June"}]}
现在我已经使用mongo导入将上面的*.json文件插入MongoDb

mongoimport --db university --collection finance --file University.json 
我的Mongo数据库/集合值为:大学/金融 为了显示来自MongoDb的ViewBlade上的值,我尝试了如下操作,但无法显示返回结果。此外,我的json文件中有一个顶级元素,即“University”。那么,这是获取嵌套元素的正确方法吗。请建议

路由(web.php) 控制器(FeesController.php) 模型(Finance.php) database.php app.php 注意:我使用mysql和mongodb来满足我的需求。尝试没有顶层元素的简单json结构时没有问题

编辑(1): 我已将控制器功能更改为:

public function getFees()
{
$fees = Finance::where(['University.month' => 'June'])->get();
   return view('tables')->with('fees', json_decode($fees, true));
}
只需打印下面的视图,blade就会显示mongo的整个Json结构

{!! json_encode($fees) !!}
输出:

[{"_id":"5e04a06ca445f78401a16d0a","University":[{"fees":"$200"},{"month":"June"}]}]
但是现在如何分离元素呢? 我想在blade视图中显示Fees=$200和Month=June

我已经尝试过了,但没有工作,并且考虑到了未定义的索引异常费用

@foreach($fees['member'] as $member)
    Fees: {{ $member['University']['fees'] }}
    Month: {{ $member['University']['fees'] }}
@endforeach
另一个问题显示了最终的解决方案。如果有人面临类似情况,可能会有所帮助


您是否配置了
.env
数据库.php
文件,并在
app.php
中设置了
jensegers\Mongodb\MongodbServiceProvider::class
作为提供者?@mare96请查看我的编辑(1)部分执行
{!!$fees!!}
时得到的内容,我想您不需要
json\u编码。请提供。@mare96如果我使用{!!$fees!!},我将得到数组到字符串的转换异常。另外,如果我用你写的答案替换,我会得到“未定义索引:成员”。在我最初的编辑(1)中,我添加了'member',但在实际的json中没有'member'元素。所以,single if()…endif()也抛出未定义的索引:University.Yeah。尝试在控制器中执行以下操作:
$fees=Finance::where(['University.month'=>'June'])->get()->toArray()
您是否配置了
.env
数据库.php
文件,并在
app.php
中设置了
jensegers\Mongodb\MongodbServiceProvider::class
作为提供者?@mare96请查看我的编辑(1)部分执行
{!!$fees!!}
时得到了什么,我想您不需要
json\u编码。请提供。@mare96如果我使用{!!$fees!!},我将得到数组到字符串的转换异常。另外,如果我用你写的答案替换,我会得到“未定义索引:成员”。在我最初的编辑(1)中,我添加了'member',但在实际的json中没有'member'元素。所以,single if()…endif()也抛出未定义的索引:University.Yeah。尝试在控制器中执行以下操作:
$fees=Finance::where(['University.month'=>'June'])->get()->toArray()
MONGODB_CONNECTION=mongodb
MONGODB_HOST=127.0.0.1
MONGODB_PORT=27017
MONGODB_DATABASE=university
MONGODB_USERNAME=
MONGODB_PASSWORD=
...
    'default' => env('DB_CONNECTION', 'mysql'),
        'mongodb' => [
                    'driver'   => 'mongodb',
                    'host'     => env('MONGODB_HOST', 'localhost'),
                    'port'     => env('MONGODB_PORT', 27017),
                    'database' => env('MONGODB_DATABASE', 'university'),
                    'username' => env('MONGODB_USERNAME'),
                    'password' => env('MONGODB_PASSWORD'),
                    'options'  => [
                        'database' => 'admin' // sets the authentication database required by mongo 3
                    ]
                ],

    'mysql' => [
                'driver' => 'mysql',
                'url' => env('DATABASE_URL'),
                'host' => env('DB_HOST', '127.0.0.1'),
                'port' => env('DB_PORT', '3306'),
                'database' => env('DB_DATABASE', 'forge'),
                'username' => env('DB_USERNAME', 'forge'),
                'password' => env('DB_PASSWORD', ''),
                'unix_socket' => env('DB_SOCKET', ''),
                'charset' => 'utf8mb4',
                'collation' => 'utf8mb4_unicode_ci',
                'prefix' => '',
                'prefix_indexes' => true,
                'strict' => true,
                'engine' => null,
                'options' => extension_loaded('pdo_mysql') ? array_filter([
                    PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
                ]) : [],
            ],
...
...
/*
    `Mongo DB
    */
    Jenssegers\Mongodb\MongodbServiceProvider::class,
...
public function getFees()
{
$fees = Finance::where(['University.month' => 'June'])->get();
   return view('tables')->with('fees', json_decode($fees, true));
}
{!! json_encode($fees) !!}
[{"_id":"5e04a06ca445f78401a16d0a","University":[{"fees":"$200"},{"month":"June"}]}]
@foreach($fees['member'] as $member)
    Fees: {{ $member['University']['fees'] }}
    Month: {{ $member['University']['fees'] }}
@endforeach