Во первых у вас в запросе ошибка. Она должно быть как-то так.
SELECT * FROM `cards`
INNER JOIN `mechanics_field` ON `mechanics_field`.card_id=`cards`.id
WHERE `mechanics_field`.`mechanics_id` = 1 and `cards`.`cost` = 3
А этот же запрос в конструкторе Laravel:
$result = DB::table('cards')
->join('mechanics_field', 'mechanics_field.mechanics_id', '=', 'cards.mechanic_id')
->where(['mechanics_field.mechanics_id' => 1, 'cards.cost' => 3])
->get();
А если имеется модель Card, то можно так написать:
$result = Card::where(['mechanics_field.mechanics_id' => 1, 'cards.cost' => 3])
->select('cards.*')
->join('mechanics_field', 'mechanics_field.mechanics_id', '=', 'cards.mechanic_id')
->get();