روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ دانشجوی سون‌لرن
ارور ($data) must be of type array, string given
جامعه پی اچ پی ایجاد شده در ۲۵ فروردین ۱۴۰۱

سلام. در این قسمت از آموزش من دیتا رو اینطوری وارد کردم (شبیه آموزش)

public function testItCanUpdateData()
    {
        $result = $this->queryBuilder
            ->table('bugs')
            ->where('user', 'my name')
            ->where('email', 'name@gmail.com')
            ->update('email', 'myname@hotmail.com');
        $this->assertEquals(1, $result);
    }

ولی این ارور رو میده

There was 1 error:
1) PDOQueryBuilderTest::testItCanUpdateData
TypeError: App\\Database\\PDOQueryBuilder::update(): Argument #1 ($data) must be of type array, string given, called in /private/var/www/github/php-tdd/7learn/bug-tracker/tests/Unit/PDOQueryBuilderTest.php on line 32
/private/var/www/github/php-tdd/7learn/bug-tracker/src/Database/PDOQueryBuilder.php:50
/private/var/www/github/php-tdd/7learn/bug-tracker/tests/Unit/PDOQueryBuilderTest.php:32

کلا در این قسمت از آموزش ارور‌های زیادی در زمینه آبجکت و آرایه وجود داره

مثلا کد به این شکل که وارد کردم:

public function where(string $column, string $value)
    {
        $this->connection[] = "{$column}=?";
        $this->values[] = $value;
        return $this;
    }

این ارور رو میده

There was 1 error:
1) PDOQueryBuilderTest::testItCanUpdateData
Error: Cannot use object of type PDO as array
/private/var/www/github/php-tdd/7learn/bug-tracker/src/Database/PDOQueryBuilder.php:45
/private/var/www/github/php-tdd/7learn/bug-tracker/tests/Unit/PDOQueryBuilderTest.php:30

مشکل بخاطر نسخه php بود. برطرف شد. تشکر

سیدرضا بازیار ۲۵ فروردین ۱۴۰۱، ۱۱:۳۰

سلام دوست عزیز

موفق باشید

بهترین پاسخ
محمد گازری ۲۵ فروردین ۱۴۰۱، ۱۱:۳۱