0

我用 Moloquent 设置了 Laravel,以便使用我设置的单独的 Mongodb。我正在使用数据库文章,它有一个集合“文章”,其中每篇文章都是一个包含标题、网址、图像等信息的数组。有些东西我可以很好地提取,比如标题和来源,但如果我尝试调用其他人(如 url 或内容)我从 Laravel 得到“未定义的索引: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();),我会得到所有信息。任何想法都会有所帮助。

编辑:这里也是猫鼬模式:

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;
4

1 回答 1

0

我最终只是切换到 Postgres。Mongo 造成了太多问题,我能够在短短几个小时内将所有内容移植过来。

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

于 2017-12-05T16:04:18.483 回答