Change the related listings query

I tried with the var_dump() and it take the materia value, also using __id(), but it seem not working with the matching.

if ( $listing->get_categories__id() ) {
				$query->filter(['categories__in' => $listing->get_categories__id(),
    							'materia' => $listing->get_materia__id(), 
				]);
			}

Also tried with this

if ( $listing->get_categories__id() && $listing->get_materia__id() ) {
				
				$query->filter(['categories__in' => $listing->get_categories__id()], ['materia' => $listing->get_materia__id()]);

			}

This query should return all the listings that are in the same category and with the same materia…am I wrong? It only match the category in both version

I have other two questions:

I am interested in buying the request plugin and i would like to know if is it possibile to add custom attributes like the phone number and if that attributes can be use as a filter for searching.

The second question reguard using paid listing with the request plugin to ask the user to pay a monthly fee to keep their request online with the packages.

thanks.