/ / Manipulácia s poliami JSON / Array v Eloquent [zatvorené] - php, mysql, json, laravel, eloquent

Manipulácia polí JSON / Array v jazyku Eloquent [closed] - php, mysql, json, laravel, výrečný

Na vytvorenie CRM používam Laravel. Chcem, aby účty mohli mať viacero typov účtov. V tabuľkách typov účtov bude uvedené ID a názov, potom v tabuľke Účty plánujem mať stĺpec, do ktorého sa ukladá objekt json, ktorého typy je tento účet súčasťou.

Hľadám vhodný spôsob, ako to zvládnuť v Laraveli s Eloquentom, aby sme ich spojili a boli schopní urobiť niečo ako $account->types() a vráti pole typov účtov, do ktorých účet patrí, IE

array(
1 => "Customer",
3 => "Vendor"
)

a tiež byť schopný robiť niečo podobné Account::where("account_type", 1)->get(); a vrátite všetkých „zákazníkov“

V súčasnosti používam databázu MySQL, takže polia nie sú príliš možnosťou.

odpovede:

1 pre odpoveď č. 1

Aby som to mohol urobiť, vytvoril by som tretinutabuľka špecificky pre vzťahy typu účet / typ namiesto objektu json v tabuľke. Takže, hypoteticky, ak by sa vaše tabuľky pomenovali Účet, Typy a Typy účtov_Typy, môžete získať všetky typy pre konkrétny účet prostredníctvom niečoho ako:

Account_Types::select("title")
->where("accountID", "=", $account_id)
->get();

Ak chcete získať všetky účty určitého typu, stačí sa pripojiť k tabuľkám a spustiť výber:

Account::join("account_types", "account_types.accountID", "=", "account.id")
->join("types", "types.id", "=", "account_types.typeID")
->select("account.id as id")
->where("types.id", "=", $type_id)
->get();

0 pre odpoveď č. 2
use Response;

return Response::json(array("1" => "Customer", "2" => "Vendor"));

podrobnosti