从 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 相关问题,我还有很多...)
我已经 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 相关问题,我还有很多...)