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ď č. 1Aby 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"));