从 Laravel 调用时 Mongodb 数组中的未定义索引

Undefinded Index in Mongodb Array When Calling From Laravel

我已经 Laravel 设置了 Moloquent,以便使用我设置的单独的 Mongodb。我正在使用数据库文章,它有一个 collection "articles",其中每篇文章都是一个包含标题、url、图像等信息的数组。有些东西我可以很好地提取,如标题和来源,但如果我尝试调用其他人(如 url 或内容),我会收到来自 Laravel 的 "Undefined index: url" 错误。

use App\Articles;
$articles = App\Articles:all();

@foreach ($articles as $article)
<li>{{ $article['title'] }} - {{ $article['source'] }} </li> //this will work great
<li>{{ $article['title'] }} - {{ $article['url'] }} </li> //this will throw an error
@endforeach

这是我的 Articles.php 模型:

<?php
namespace App;   
use Illuminate\Database\Eloquent\Model;
class Articles extends Model
{protected $table = 'articles';}

此外,如果我只显示 $article(在 $article = App\Articles:all(); 之后),我将获得所有信息。任何想法都会有所帮助。

编辑:这也是 mongoose 模式:

const mongoose = require('mongoose');
let articleSchema = new mongoose.Schema({
    title: String,
    article: String,
    image: String,
    source: String,
    url: String,
    categories: String,
    dateCrawled: Date,
    dateWritten: String
});
let Article = mongoose.model('Article', articleSchema);
module.exports = Article;

我最终只是转向了 Postgres。 Mongo 导致了太多问题,我能够在几个小时内移植所有内容。

如果您刚刚开始使用 Laravel,我强烈建议您使用 MYSQL 或 Postgres,因为它们开箱即用,效果很好,而且您应该不会遇到任何重大问题(以上只是一个 MongoDB 相关问题,我还有很多...)