# Issue about value types on findBy() method

**URL:** <https://forum.getkirby.com/t/issue-about-value-types-on-findby-method/15262>\
**Category:** Questions\
**Tags:** v3\
**Created:** [August 15, 2019, 10:56am UTC](https://forum.getkirby.com/t/issue-about-value-types-on-findby-method/15262 "2019-08-15T10:56:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ahmetbora](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/ahmetbora/32/11671_2.png) [@ahmetbora](https://forum.getkirby.com/u/ahmetbora)\
**Post date:** [August 15, 2019, 10:56am UTC](https://forum.getkirby.com/t/issue-about-value-types-on-findby-method/15262/1 "2019-08-15T10:56:57Z")

</div>

I am having problems with value types when using the `findBy()` method.

User blueprint in `addresses` structure field:

```
fields:
    autoincrement:
        type: hidden
        translate: false

```

User content file `user.txt`:

```
Addresses:

- 
  autoincrement: 10
  name: Office
  ...

```

**Works with string:**

```
kirby()->user()->addresses()->toStructure()->findBy("autoincrement", "10");

```

**Failed with integer:**

```
kirby()->user()->addresses()->toStructure()->findBy("autoincrement", 10);

```

> Method Illuminate\View\View::\_\_toString() must not throw an exception, caught ErrorException: Object of class Kirby\Cms\Field could not be converted to int

Btw `filterBy()` method working properly:

```
kirby()->user()->addresses()->toStructure()->filterBy("autoincrement", 10)->first();

```

Do I always have to cast value to string?

---

<div class="post-metadata">

**Author:** ![ahmetbora](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/ahmetbora/32/11671_2.png) [@ahmetbora](https://forum.getkirby.com/u/ahmetbora)\
**Post date:** [August 15, 2019, 11:05am UTC](https://forum.getkirby.com/t/issue-about-value-types-on-findby-method/15262/2 "2019-08-15T11:05:12Z")

</div>

Strange! Works with other syntax `"=",` like following:

```
kirby()->user()->addresses()->toStructure()->findBy("autoincrement", "=", 10);
```

---

<div class="post-metadata">

**Author:** ![texnixe](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/texnixe/32/5754_2.png) [@texnixe](https://forum.getkirby.com/u/texnixe)\
**Post date:** [August 15, 2019, 11:12am UTC](https://forum.getkirby.com/t/issue-about-value-types-on-findby-method/15262/3 "2019-08-15T11:12:40Z")

</div>

That last example doesn’t make sense, `findBy()` only accepts two parameters, not an additional second filter, that only works with `filterBy()`.

The reason why it only works with a string is that `getAttribute()` (which is used internally) returns a field which cannot be cast to integer.

---

<div class="post-metadata">

**Author:** ![ahmetbora](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/ahmetbora/32/11671_2.png) [@ahmetbora](https://forum.getkirby.com/u/ahmetbora)\
**Post date:** [August 15, 2019, 12:21pm UTC](https://forum.getkirby.com/t/issue-about-value-types-on-findby-method/15262/4 "2019-08-15T12:21:00Z")

</div>

> [@texnixe](#):
>
> The reason why it only works with a string is that `getAttribute()` (which is used internally) returns a field which cannot be cast to integer.

So only solution is casting to string always, right?
