Uncaught Error: Class 'Models\SearchLoyaltyAccountsRequest' not found... in the browser. Is the error I get when I try and call $body = new Models\SearchLoyaltyAccountsRequest;
This is what I have at the top of my PHP file:
require __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
use Square\SquareClient;
use Square\LocationsApi;
use Square\Exceptions\ApiException;
use Square\Http\ApiResponse;
use Square\Models\ListLocationsResponse;
use Square\Environment;
$client = new SquareClient([
'accessToken' => $_ENV['SQUARE_ACCESS_TOKEN'],
'environment' => Environment::SANDBOX,
]);
$loyaltyApi = $client->getLoyaltyApi();
If I change use Square\Models\ListLocationsResponse; to use Square\Models; The error goes away and my app finishes with the correct result. What am I missing?
If you’re wanting to use SearchLoyaltyAccountsRequest, you should add a line at the top for use Square\Models\SearchLoyaltyAccountsRequest instead of Square\Models\ListLocationsResponse. Let me know if that doesn’t work, or if you have additional questions.
What version of the PHP SDK are you using? This worked for me:
use Square\Models\SearchLoyaltyAccountsRequest;
...
$body = new SearchLoyaltyAccountsRequest();
// or this $body = new \Square\Models\SearchLoyaltyAccountsRequest();
It might be because you didn’t have \Square\ in front of \Models? That produces an error for me, if I leave off Square.