Un objet de la classe Éclairer\Database\Éloquent\Constructeur n'a pas pu être converti en chaîne dans laravel 5.1
Je suis googler et essayer formulaire de nxt deux jours et essayez de déboguer si mon code obtenir l'id de données à partir de la table:-
$term=category::get(['id']);
Utiliser que $varibale pour l'obtention des données de la base de données comme par id qui est l'étranger de la clé et le code sont les suivantes:-
$categories = HelpCenter::whereHas('category', function($category) use ($term)
{
$category->where('category_id','=',$category);
})
->take(5)->get();
- que faites-vous avec ce seul élément de tableau dans la fonction get?
- Ce n'est qu'une partie de votre code, vous essayez de vidage/debug le Générateur de Requête (probablement à l'aide de
echo
); qu'est ce que le message est en train de dire. Veuillez fournir le code complet qui est en train de lancer la trace. - Pour obtenir l'id de la catégorie de base de données
- Changement
$term=category::get(['id']);
à$term=category::all()->pluck('id')
d'avoir tous les id de tableau.
Vous devez vous connecter pour publier un commentaire.
Cette ligne de code n'a pas de sens:
$category
est Éloquent instance de Générateur, de sorte que vous êtes effectivement en train de faire est ceci:Je suis en supposant que le deuxième
$category
variable était censé être$term
comme ceci:Mais qui va encore causer quelques problèmes, dont je vais vous expliquer un peu. Mais d'abord, je pense que vous devriez renommer la variable si elle fait un peu plus de sens intuitif. Au lieu de
$category
, nom il$query
choses donc ne pas se mêler.Prochaine, nous devons nous attaquer à un peu plus de choses.
$term
variable n'est jamais utilisé. Je suppose qu'il doit être un tableau de codes de catégorie.$term
est ce que vous voulez faire passer dans leswhere
méthode.Pour lutter contre #1, vous êtes actuellement obtenir une collection de la catégorie des cas. Vous êtes réellement l'obtention de chaque catégorie dans votre base de données. Je ne suis pas sûr si c'est votre intention, mais de toute façon, vous avez probablement encore envie d'un tableau d'id de catégorie. Comme @smartrahat suggéré, utilisez le
pluck
méthode.Pour lutter contre le #2, vous souhaitez trouver toutes les catégories qui correspondent à l'id vous êtes de passage. Vous pouvez utiliser le
whereIn
méthode.Tous ensemble, il devrait ressembler à quelque chose comme ceci:
Vous n'avez pas besoin d'utiliser les deux
take()
etget()
. Juste de faire l'un ou l'autre.->get()
à la fin