I’m relatively new to OOP in PHP, and I’m not sure if what I’m trying to do is possible or recommended. In any case, I can’t figure it out. Are there any tutorials or documentation which might help?
I have a system in which each user has a number of ‘Libraries’. Each Library contains a number of ‘Elements’.
DB set up is as follows:
user_libraries
- id (unique)
- user_id (identifies user)
- name (just a string)
elements
- id (unique)
- content (a string)
library_elements
- id (unique)
- library_id
- element_id
where library_id is the id from user_libraries, and element_id is that from elements.
I want to be able to access a given user’s library, and their elements.
I’ve set up the library class, and can use it to retrieve the list of libraries (or a sub-list).
I do this like this:
$mylibraryset = new LibrarySet();
$mylibraryset->getMyLibraries();
which gives (when I use print_r):
LibrarySetObject (
[user_id] => 105
[data_array] => Array (
[0] => Array (
[id] => 1
[user_id] => 105
[type] => 1
[name] => My Text Library
)
[1] => Array (
[id] => 2
[user_id] => 105
[type] => 2
[name] => Quotes
)
)
)
Now, what I’d like to be able to do is for each of those libraries (the elements in data_array), to retrieve all the elements.
The best idea I’ve had so far is to do something like:
foreach($mylibrary->data_array as $library) {
$sublibrary = new Library();
$sublibrary -> getAllElements();
}
where Sublibrary is another class which has the function getAllElements. I can’t quite get it to work though, and I’m not sure I’m on the right lines…
Is there a way that I can then end up being able to do something like the following, to retrieve a specific element?
$mylibrary->sublibraries[0]->element[0]
1 Answer