Неопределенный индекс в массиве Mongodb при вызове с Laravel

Я настроил Laravel с Moloquent для использования отдельного Mongodb, который я настроил. Я использую базу данных Articles, в которой есть коллекция «article», где каждая статья представляет собой массив с информацией, такой как title, url, image и т. Д. Некоторые вещи я могу просто потянуть, например title и source, но если я попробую чтобы вызывать других (например, URL или контент), я получаю и «Неопределенный индекс: URL» ошибка от Laravel.

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

0

Решение

Я просто перешел на Postgres. Монго вызывал слишком много проблем, и я смог перенести все за пару часов.

Если вы только начинаете работать с Laravel, я настоятельно рекомендую использовать MYSQL или Postgres, поскольку они отлично работают прямо из коробки, и у вас не должно быть никаких серьезных проблем (выше была только одна проблема, связанная с MongoDB, у меня была еще немало …)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]