Prove elementary amalgamation theorem in model theory. Restate the proposition
Suppose $\mathcal{M}_0$, $\mathcal{M}_1$, and $\mathcal{M}_2$ are $\mathcal{L}$-structures and $j_i ~:~ \mathcal{M}_0 \rightarrow \mathcal{M}_i, ~(i = 1,2)$
is an elementary embedding. Show that there is an $\mathcal{L}$-structure $\mathcal{N}$ and elementary embeddings $f_i ~:~ \mathcal{M}_i \rightarrow \mathcal{N}$ so that $f_1 \circ j_1 = f_2 \circ j_2$. 
Current Thoughts
Since $j_1$ and $j_2$ are elementary embeddings, we have for all $\mathcal{L}$-formula $\phi(a_1,\ldots,a_n)$ and for all $a_1,\ldots,a_n \in \mathbb{M}_0$:
    \begin{align*}
  \mathcal{M}_0 \models \phi(a_1,\ldots,a_n) &\iff \mathcal{M}_1 \models \phi(j_1(a_1),\ldots,j_1(a_n)),\\
  \mathcal{M}_0 \models \phi(a_1,\ldots,a_n) &\iff \mathcal{M}_2 \models \phi(j_2(a_1),\ldots,j_2(a_n)).\\
 \end{align*}
Now suppose we have elementary embeddings $f_1 : \mathcal{M}_1 \rightarrow \mathcal{N}_1$ and $f_2 : \mathcal{M}_2 \rightarrow \mathcal{N}_2$ so that
    \begin{align*}
  \mathcal{M}_1 \models \phi(j_1(a_1),\ldots,j_1(a_n)) &\iff \mathcal{N}_1 \models \phi((f_1 \circ j_1) a_1,\ldots,(f_1 \circ j_1) a_n),\\
  \mathcal{M}_2 \models \phi(j_2(a_1),\ldots,j_2(a_n)) &\iff \mathcal{N}_2 \models \phi((f_2 \circ j_2) a_1,\ldots,(f_2 \circ j_2) a_n).
 \end{align*}    
We need to prove that $\mathcal{N}_1 \equiv \mathcal{N}_2$.
Problems
First, could someone confirm if my current train of thought is correct? Specifically, is it fair to assume there is some elementary embeddings $f_1$ and $f_2$? And is it correct to say $\mathcal{N}_1$ and $\mathcal{N}_2$ are elementarily equivalent? Which entails isomorphism?
Finally, how should I proceed from this point on? It seem all I've done is restated the proposition $f_1 \circ j_1 = f_2 \circ j_2$ using more words ...
 A: About you thoughts. What you're doing is merely vacuous. For any elementary embeddings $f_i \colon \mathcal M_i \to \mathcal N_i$, you will have $\mathcal N_1 \equiv \mathcal N_2$ : indeed 
$$ \mathcal N_1 \equiv \mathcal M_1 \equiv \mathcal M_0 \equiv \mathcal M_2 \equiv \mathcal N_2. $$ 
What is very wrong is to think that it implies $\mathcal N_1 \simeq\mathcal N_2$. You can have elementary equivalent structure with even different cardinals ! (Think of $\mathbb Q$ and $\mathbb R$ as fields for example.) Even more striking : if your statement was true (elementary equivalence implies isomorphism), then $\mathcal M_1$ would be isomorphic to $\mathcal M_2$, and the exercise trivial…

What you should do. I give you the guide lines. Let $\mathcal L_+$ be the language $\mathcal L$ augmented by constants symbols $c_m$ for any $m \in M_1 \sqcup_{M_0} M_2$ (this set is the disjoint union of $M_1$ and $M_2$ where elements $j_0(x)$ and $j_1(x)$ are identified). Then all you have to do is to show that the $\mathcal L_+$-theory
$$ \operatorname{Th}(\mathcal M_1,M_1) \cup \operatorname{Th}(\mathcal M_2,M_2) $$
is consistent. (Be sure you understand why !)
To do so, use the compactness theorem. Take $\mathcal L$-formulas $\phi(\bar x)$ and $\psi(\bar y)$ such that there exists tuples $\bar m_1$ in $M_1$ and $\bar m_2$ in $M_2$ satisfying
$$ \mathcal M_1 \models \phi(\bar m_1), \qquad \mathcal M_2 \models \psi(\bar m_2).$$
Now, can you find a formula with parameters in $M_0$ only, depending on $\psi$, that is satisfied by $\mathcal M_2$ (Hint : the formula is a sentence beginning by $\exists$) ? What about the satisfiability of this formula in $\mathcal M_1$ ?
Conclude that $\mathcal M_1$ models $\phi(\bar x)\wedge \psi(\bar y)$ by giving an ad hoc interpretation of the constant $c_m$.

Edit. Due to your comment, I will clarify a few things.
First, for any $\mathcal L$-structure $\mathcal M$ and subset $A \subseteq M$, the theory $\operatorname{Th}(\mathcal M,A)$ is the theory of $\mathcal M$ with parameters in $A$. It is defined as follow : construct the language $\mathcal L_A := \mathcal L \cup \{c_a : a\in \mathcal A\}$ ; now define $\operatorname{Th}(\mathcal M,A)$ as the $\mathcal L_A$-theory 
$$ \{ \varphi(\bar c_a) : \mathcal M \models \varphi(\bar a) \}.$$
(In other words, extend $\mathcal M$ in a $\mathcal L_A$-structure by interpreting each $c_a$ as $a$, then $\operatorname{Th}(\mathcal M,A) = \operatorname{Th}(\mathcal M_A)$.) Notably, you can apply this with $A=M$. I think the theory $\operatorname{Th}(\mathcal M,M)$ is sometimes called the complete diagram of $\mathcal M$.
Then, you need to see/prove/convince yourself/whatever that a $\mathcal N$ is a elementary extension of $\mathcal M$ precisely when 
$$ \operatorname{Th}(\mathcal N,M) = \operatorname{Th}(\mathcal M, M). $$
(This is merely the definition of an elementary extension.) Now you should understand the relevance of the theory I've introduced in the guide lines.
Finally, let me explicit a bit more the notation $M_1\sqcup_{M_0} M_2$. This has nothing to do with model theory. Take sets $A,B,C$ with $f \colon A \to B$ and $g\colon A\to C$ two functions : the set $B\sqcup_A C$ ($f,g$ are implicit in this notation) is the quotient set
$$ B \sqcup C \big/ {\sim} $$
where $\sim$ is generated by $f(a) \sim g(a),\forall a \in A$. When $f$ and $g$ are injections as in your example, it is easy to understand this set : there is a copy of $A$ in $B$ and in $C$ ; take the disjoint union of $B$ and $C$ and glue together the elements of the first copy of $A$ with the corresponding element in the second copy ; your done.
