That is a pretty broad question but here is a beginning of an answer.
First, don't separate domain and model. Instead, think in terms of a domain model which tries to represent whatever problem you are trying to resolve.
For example, in my sports game schedule system I have a Game object. A Game has 2 or more teams as well as 0 or more officials. So my domain model consists of Game, GameTeam and GameOfficial objects. These are simple plain php objects which contain some business logic.
I need to store games in a sql database. That is where an ORM layer comes in. By setting up some mapping files, I can save Game to a games table, GameTeam to a game_teams table etc and perserve the relations between them. Another object called GameRepository provides the link between my application and the database.
$game = $gameRepository->find(1);
echo $game->getHomeTeam()->getName(); // Echos the name of the home team for game #1.
$games = $gameRepository->findAllGamesForTeam('Auburn Tigers');
This of course is just the tip of the iceberg but maybe it will help.