strpos() 期望参数 1 是字符串,对象给定 laravel 5.5
Posted
技术标签:
【中文标题】strpos() 期望参数 1 是字符串,对象给定 laravel 5.5【英文标题】:strpos() expects parameter 1 to be string, object given laravel 5.5 【发布时间】:2018-07-04 15:02:43 【问题描述】:这是我的代码:
public function getLists(Request $request)
$user = $request->user()->id;
$apikey = DB::table('apikey')->where('api_key', '=', $user);
if($apikey)
$mc = new MailChimp($apikey);
$mailchimp_ping = $mc->get('lists',['fields' =>
'lists.id,lists.name']);
return Response::json($mailchimp_ping, 200);
else
$errorResponse = [
'message' => 'Lists not found!',
'error' => '401'
];
return Response::json( $errorResponse);
我正在尝试根据登录的用户 ID 获取 mailchimp 列表,我做错了什么?我的 where 子句是否需要别的东西? 任何帮助将不胜感激!
【问题讨论】:
显示你的完整错误 【参考方案1】:使用value()
方法执行查询并获取密钥。例如,如果一个带有键的列被称为apikey
:
$apikey = DB::table('apikey')->where('api_key', $user)->value('apikey');
【讨论】:
它的说法(在 null 上调用成员函数 get())我的代码是 $user = $request->user()->id; $apikey = DB::table('apikey')->where('api_key','=', $user)->value('api_key')->get(); @syed1234 去掉get()
,仔细看答案
对不起我的错误我删除了 get();现在它向我显示未找到列表消息
@syed1234 你不应该使用get()
,因为它会给你一个集合而不是字符串。新错误与问题无关,因此,您应该创建一个新问题并解释您使用的 MailChimp 包到底是什么,您到底有什么错误(完整的错误消息)等。
我正在使用DrewM\MailChimp\MailChimp;即使我有针对该 apikey 的列表,它也会转到我的 else 部分显示未找到的列表【参考方案2】:
在我的情况下,当更改此错误时出现此错误:
Route::view('/report', '/main_pages/orders_parts/report')->name('guzorishi_order_1');
到
Route::get('/report/order_id', function ($order_id) ... )->name('guzorishi_order_1');
但是忘了Route::view
一个
重命名为Route::get
【讨论】:
以上是关于strpos() 期望参数 1 是字符串,对象给定 laravel 5.5的主要内容,如果未能解决你的问题,请参考以下文章
ErrorException htmlspecialchars() 期望参数 1 是字符串,给定对象 ()
Laravel - htmlspecialchars() 期望参数 1 是字符串,给定对象
htmlentities() 期望参数 1 是字符串,给定对象
Laravel - strtolower() 期望参数 1 是字符串,给定对象