【问题标题】:strpos() expects parameter 1 to be string, object given laravel 5.5strpos() 期望参数 1 是字符串,对象给定 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 子句是否需要别的东西? 任何帮助将不胜感激!

【问题讨论】:

  • 显示你的完整错误

标签: php laravel


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-07
    • 2017-08-30
    • 2020-06-01
    • 2018-07-30
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    相关资源
    最近更新 更多