Ich arbeite derzeit an einem Projekt, wo ich versuche, nach Tweets suchen und speichern Sie sie dann in einer Datenbank. Für dieses Projekt verwende ich Laravel und TwitterOAuth."Kann nicht Objekt des Typs stdClass als Array verwenden" Fehler bei der Suche nach Tweets mit der Twitter API
Hier ist der Code:
class TwitterController extends BaseController
{
public function test() {
$connection = new TwitterOAuth('',
'',
'',
'');
$content = $connection->get('account/verify_credentials');
$tweets = $connection->get('search/tweets',
['q' => "cryptocurrency"]);
foreach($tweets as $tweet) {
$tweet_id = $tweet[0]->id;
$oembed_j = file_get_contents('https://publish.twitter.com/oembed?url=https://twitter.com/x/status/' . $tweet_id);
$oembed = json_decode($oembed_j);
$twitter = new Twitter;
$twitter->url = $oembed->url;
$twitter->author_name = $oembed->author_name;
$twitter->author_url = $oembed->author_url;
$twitter->html = $oembed->html;
$twitter->width = $oembed->width;
$twitter->height = $oembed->height;
$twitter->type = $oembed->type;
$twitter->cache_age = $oembed->cache_age;
$twitter->provider_name = $oembed->provider_name;
$twitter->provider_url = $oembed->provider_url;
$twitter->version = $oembed->version;
$twitter->save();
}
}
}
und die Fehler:
"(1/1) FatalErrorException
Cannot use object of type stdClass as array
in TwitterController.php (line 27)"
bitte markieren Linie 27. Ich vermute, es dieses ist 'foreach ($ Tweets wie $ tweet) {' so die Fehler sagt, dass $ Tweets kein Array ist, vielleicht sind Looping Sie die falsche Art und Weise –
Bitte Zeige die Ergebnisse von 'dd ($ tweets);' eingefügt direkt vor 'foreach' Klausel –
@AlexeyMezenin dd ($ tweets) ergibt: {# 167 ▼ +" status ": array: 15 [▶] +" search_metadata ": {# 495 ▶} } –